(牡丹江醫(yī)學院 黑龍江 157011)
骨折多由嚴重創(chuàng)傷和高能量損傷所致,近年來發(fā)生率明顯呈增長趨勢[1]。內(nèi)固定,手術創(chuàng)傷度對骨折手術尤其重要,除了預防并發(fā)癥外,復位內(nèi)固定質(zhì)量與創(chuàng)傷程度對治療骨折極其關鍵[2]。大多數(shù)骨科臨床研究表明,平面顯示的二維圖像不能完全給人直觀、立體的感覺,影響醫(yī)患雙方溝通,醫(yī)生不易解釋手術方案,不利于構建和諧醫(yī)患關系[3]。為使手術更精準、安全,本研究將3D打印技術用于打印骨骼以及骨骼修復體的基于嵌入式的FDM型3D打印圖像控制系統(tǒng),主要研發(fā)了系統(tǒng)的圖像控制模塊的framebuffer的驅(qū)動程序,完成了framebuffer的驅(qū)動程序設計,在治療時,能夠利用3D技術打印出患者的骨骼實物模型,根據(jù)骨骼模型對植入導板進行精確塑形,再將塑形后的骨導板移植到骨骼中進行骨骼的修復。
嵌入式系統(tǒng)傳輸圖像數(shù)據(jù)信息,需要通過Linux系統(tǒng)下的幀緩沖(framebuffer)結(jié)構控制器來實現(xiàn)。因此framebuffer的相關知識對于本系統(tǒng)的實驗十分重要,本研究主要完成framebuffer的驅(qū)動程序設計,完成控制系統(tǒng)中圖像的傳輸與顯示。
工作原理如圖1。
圖1 framebuffer 工作原理圖
1.1.1 FDM 3D打印圖像傳輸系統(tǒng)framebuffer 總體控制設計
本系統(tǒng)所使用的芯片為Atmega 2560-16AU(AVR 核心處理器8位16MHz,256KB Flash),集成了很多的外部設備來配合完成芯片控制功能,在linux系統(tǒng)下的源代碼中的linux/platform_device.h 頭文件中定義了platform_device數(shù)據(jù)結(jié)構來管理描述這些外部設備。在系統(tǒng)啟動時,就可以將所有芯片的平臺設備加載,結(jié)構體形如下:
1.1.2 FDM 3D打印圖像傳輸系統(tǒng)framebuffer 驅(qū)動結(jié)構設計
幀緩沖作為用戶與硬件之間的中間層,起到電腦顯卡的作用,應用程序?qū)彌_的操作即可看作是對顯存的操作。framebuffer 啟動后,需要我們對其linux/drivers/videos/下的其的驅(qū)動程序進行部分編寫,驅(qū)動程序是應用程序與外部設備之間的操作的接口,對應我們所使用的Atmega 2560-16AU(AVR 核心處理器8 位16MHz,256KB Flash)芯片,才能實現(xiàn)具體的圖像顯示功能。framebuffer設備驅(qū)動包括在如下兩個內(nèi)核文件中:
(1)linux/include/linux/fb.h
(2)linux/drivers/video/fbmem.c
fb.h中主要包括了framebuffer 驅(qū)動程序中占主要地位的數(shù)據(jù)結(jié)構。而fbmen.c 則是既為上層的應用程序提供操作framebuffer設備的函數(shù)接口,讓基本操作與硬件設備無關,又為底層的硬件設備提供了相應的操作接口,但這些操作也不由fbmen.c 完成,而是由系統(tǒng)使用的芯片處理器來決定的,本文中,我們由Atm2560fb.c來實現(xiàn)這些操作,需要根據(jù)不同的LCD 控制器來實現(xiàn)相關的接口。圖2為framebuffer設備驅(qū)動結(jié)構。
圖2 framebuffer 驅(qū)動結(jié)構
1.1.3 FDM 3D打印圖像傳輸系統(tǒng)framebuffer 驅(qū)動程序設計
1.1.2 中完成framebuffer 驅(qū)動程序的設計,才能使其正常工作,讓圖片正確的顯示。驅(qū)動程序與開發(fā)所使用的的硬件設備相關。所以,驅(qū)動程序分為了兩層:標準驅(qū)動和非標準驅(qū)動。
由圖2可以看出,標準驅(qū)動主要為應用程序提供操作接口[4],主要操作在fbmem.c的file_operations 結(jié)構里,而底層驅(qū)動則是framebuffer 驅(qū)動程序真正需要完成的功能,需要進行相應程序的編寫,來實現(xiàn)真正的圖片顯示。本系統(tǒng)中幀緩沖驅(qū)動主要在drivers/video/Atm2560/Atm2560fb.c中,驅(qū)動的全部信息在Atm2560fb_info_t中。
framebuffer的驅(qū)動程序就需要編寫Atm2560fb.c文件,主要包括以下幾個內(nèi)容:
(1)初始化fb_info中成員函數(shù)。
(2)底層驅(qū)動需要與設備驅(qū)動實現(xiàn)綁定,這一過程就是在底層驅(qū)動的加載的過程中完成的,為了實現(xiàn)與方便綁定,每一個platform_device都定義了一個platform_driver。
本文采用黑龍江拓盟科技有限公司的TMKJ-ET系列FDM 3D打印機進行圖像控制系統(tǒng)的操作實驗,將骨手術患者術前CT 掃描數(shù)據(jù)導入三維建模軟件中生成三維骨結(jié)構,如圖3所示。圖4對術前骨手術患者骨骼進行復位后圖像還原對比,得到修復后的骨骼三維圖,利用3D打印機將術后骨三維模型打印成型,并對打印的模型進行骨導板復原手術,最后,將精準的骨導板植入到患者骨骼中,完成骨手術的固定復原。
圖3 骨手術前及術后CT圖
圖4 骨手術前三維重建以及術后三維重建圖
通過手術證明,F(xiàn)DM 3D打印圖像控制系統(tǒng)運行速度快,交互性高,性能穩(wěn)定,可以精確打印骨科手術患者的三維骨模型,保證了骨科手術安全性和可靠性,使基于嵌入式的FDM型3D打印圖像控制系統(tǒng)更好服務于廣大骨科疾病患者。
在本研究中,3D打印技術已經(jīng)用于打印骨骼及骨骼修復體等。在治療時,能夠利用3D技術打印出患者的骨骼實物模型,根據(jù)骨骼模型對植入導板進行精確塑形,再將塑形后的導板移植到骨手術中進行骨骼的修復。以往的3D打印圖像控制系統(tǒng)集成復雜,界面交互感差且效率低。本研究系統(tǒng)的圖像控制模塊的framebuffer的驅(qū)動程序,完成了framebuffer的驅(qū)動程序設計,通過系統(tǒng)測試結(jié)果表明,該圖像控制系統(tǒng)運行操作簡單,效率高且性能穩(wěn)定,可以精確打印骨科手術患者的三維骨模型,保證了醫(yī)生能夠進行精準的骨科手術。