徐 健,彭雪峰,宋耀華
XU Jian, PENG Xue-feng, SONG Yao-hua
(九江職業技術學院,九江 332007)
基于LPC2131的電子影像診斷儀嵌入式控制系統設計
The embedded control system design for electrical image diagnostic instrument
徐 健,彭雪峰,宋耀華
XU Jian, PENG Xue-feng, SONG Yao-hua
(九江職業技術學院,九江 332007)
電子影像診斷儀是一種常見的醫療電子設備。本文詳細闡述了整個控制系統的硬件和軟件設計,采用LPC2131 ARM處理器作為核心控制器,通過產生6路PWM控制斬波電路導通時間,經過微焦點X光發生器模塊來產生所需影像。針對醫療設備實時性要求,采用嵌入式實時操作系統(RTOS)作為軟件開發平臺,測試結果表明該系統結構簡單、性能可靠,具有很高的實用價值。
ARM;電子影像診斷儀;斬波電路;PWM;RTOS
隨著當今醫療現代化進程的快速發展,各種醫療電子儀器與設備朝著小型化,高精密化方向發展,人機界面更加友好,操作更加方便。傳統的采用單片機為控制器的醫療電子產品在性能,處理速度,硬件設計上都不能適應產品更新換代的發展。ARM處理器是目前公認的業界領先的32位嵌入式RISC微處理器,以其卓越的性能、超低的功耗、豐富的外設接口、較高的性價比,代表了當今主流電子應用技術的發展方向。實時操作系統uC/OS-II以其小巧、源代碼公開、注解詳細、實時性強、可移植性好、多任務、基于優先級的可剝奪型調度的特點,已經廣泛應用在很多對實時性要求比較高的產品中。本文以我們最近研制成功的電子影像診斷儀為案例,講述了其中各模塊電路的功能,以LPC2131為控制器,構建了整個控制電路,分析了硬件電路設計,并詳細講述了uC/OS-II在LPC2131上的移植,各任務模塊的劃分和應用程序的編寫。

圖1 電子影像儀硬件電路圖
電子影像診斷儀電路主要由四個模塊組成,包括:主電源模塊、輔助電源模塊、微焦點X光發生器模塊、微處理器控制及顯示模塊,電路整體結構框圖如圖1所示。主電源模塊由EMI濾波電路、整流濾波電路、恒壓斬波電路、恒流斬波電路、全橋斬波電路等電路組成。輔助電源模塊主要是給各電路提供工作電源,分別輸出5V、12V的直流穩壓電源供各模塊使用。微焦點X光發生器模塊由主變壓器、倍壓整流電路、射線管和保護電路組成。
主控制電路模塊是通過控制斬波電路工作時間的長短來控制X光發生器曝光的時間。本系統中恒流斬波電路、恒壓斬波電路和全橋斬波電路需要控制導通時間,而傳統的單片機沒有6路PWM波輸出,如果使用軟件模擬PWM的產生,很難保證實時性的要求。為了能同時使用6路PWM控制斬波電路的導通時間,我們選擇ARM處理器作為主控制器。為了系統擴展和預留功能,我們選擇NXP公司的LPC2131 ARM微處理器作為主芯片。LPC2131的內核是ARM7TDMI-S核,三級流水線,32位微處理器,采用馮·諾依曼結構(數據和指令混合編址)。較小的封裝(LQFP64)和極低的功耗使LPC2131可理想的應用于小型系統中,如通信網關、協議轉換器、聲音辨別、低端成像、工業控制和醫療系統。8KB片內SRAM;32KB片內Flash,高達60MHz的操作頻率;8路10位A/D轉換器; 2個32位定時器(帶4路捕獲和4路比較通道),PWM單元(6路輸出)和看門狗; 2個UART,2個高速IIC接口(400Kb/s),SPI,SSP; 向量中斷控制器,可配置優先級和向量地址;47個(P0.0-P0.23,P0.24-P0.31,P1.16-P1.31)可承受5V電壓的通用I/O口;9個邊沿或者電平觸發的外部中斷引腳;片內晶體振蕩電路支持頻率1-30MHz; 2個低功耗模式:空閑和掉電;單電源供電,含有上電復位(POR)和掉電檢測(BOD)電路,CPU操作電壓3.0-3.6V。
整個電路由顯示模塊、矩陣鍵盤模塊、斬波電路控制模塊、遙控接收模塊組成,控制系統框圖如圖2所示:

圖2 主控制電路原理框圖
點陣式液晶模塊一般采用并行接口進行數據傳輸,設計中采用中文圖形點陣液晶顯示模塊SMG240128A。SMG240128A點陣圖形液晶模塊的點像素為240×128點,黑色字/白色底,STN液晶屏,內嵌控制器為東芝公司的T6963C,外部顯示存儲器為32KB。液晶模塊采用8位總線接口與微控制器連接,內部集成了負壓DC-DC電路(LCD驅動電壓),使用時只需提供單5V電源即可。液晶模塊上裝有LED背光,使用5V電源供電,顯示字符或圖形時LED背光可點亮或熄滅。該模塊沒有地址總線,顯示地址和顯示數據均通過DB0~DB7接口實現。LPC2131與SMG240128A接口電路圖如圖3所示。

圖3 液晶接口模塊

圖4 斬波驅動電路
由于本系統需要6路斬波驅動電路,因此可以利用LPC2131的PWM功能來控制斬波電路的導通時間。因為LPC2131 IO口電平為3.3V,因此需要電壓提升電路,本設計采用三極管提升電壓,使輸出端OUT1能驅動斬波電路。斬波驅動電路共需要6路,本文用LPC2131 的PWM1驅動恒壓斬波電路,PWM2驅動恒流斬波電路,PWM3~PWM6驅動全橋斬波電路。本文只畫出一路PWM驅動電路,其余5路電路完全相同,如圖4所示。
遙控接收端采用價格便宜、性能可靠的一體化紅外接收頭HS0038B,它接收紅外型號的頻率為38KHz,同時對信號進行放大、檢波、整形,得到TTL電平的編碼信號,再送給LPC2131,解碼并執行,控制相關對象。接收端電路如圖5所示。

圖5 遙控接收端電路圖
矩陣鍵盤主要用來設定X光曝光時間,傳統的按鍵輸入軟件接口程序通常非常簡單,在程序中一旦檢測到按鍵輸入口為低電平時,便調用軟件延時程序延時10ms。然后再次檢測按鍵輸入口,如果還是低電平則表示按鍵按下,轉入執行按鍵處理程序。如果第二次檢測按鍵輸入口為高電平,則放棄本次按鍵的檢測,重新開始一次按鍵檢測過程。傳統的按鍵檢測處理方法,不僅由于采用了軟件延時而使得MCU的效率降低,而且也不容易同系統中其他功能模塊協調工作,系統的實時性也差。本文采用有限狀態機的程序設計思想,由于按鍵的檢測過程需要進行消抖處理,因此取狀態機的時間序列的周期約為10ms。按鍵狀態機的狀態轉換圖如圖6所示:狀態0為按鍵的初始狀態,當按鍵輸入為“1”時,表示按鍵處于放開,輸出“0”(1/0),下一狀態仍為狀態0;當按鍵輸入為“0”時,表示按鍵閉合,但輸出還是“0”(0/0)(沒有經過消抖,不能確認按鍵真正按下),下一狀態進入狀態1。狀態1為按鍵閉合確認狀態,它表示在10ms前按鍵為閉合的,因此當再次檢測到按鍵輸入為“0”時,可以確認按鍵被按下;輸出“1”表示確認按鍵閉合(0/1),下一狀態進入狀態2。而當再次檢測到按鍵的輸入為“1”時,表示按鍵可能處在抖動干擾,輸出為“0”(1/0),下一狀態返回到狀態0。這樣,利用狀態1,實現了按鍵的消抖處理。狀態2為等待按鍵釋放狀態,因為只有等按鍵釋放后,一次完整的按鍵操作過程才算完成。

圖6 按鍵狀態機的狀態轉換圖
系統功能的實現要靠軟硬件來完成,硬件是軀體,軟件是靈魂,二者相互依存,缺一不可。電子影像診斷儀要求響應速度快,可靠性好,因此在控制系統中使用實時操作系統作為軟件運行平臺是非常適合的。源代碼公開的實時操作系統uC/OS II以其小巧,執行時間確定性而廣泛使用在醫療電子、工業控制等領域,特別適合于沒有MMU的ARM7處理器上。
在確定所選的微處理器和編譯器能夠滿足所選的實時操作系統后,就可以動手編寫移植代碼了。移植工作包括以下幾個內容:
用#define 設置一個常量的值(OS_CPU.H);
聲明10個數據類型(OS_CPU.H);
用#define 聲明3個宏(OS_CPU_C.H);
用C語言編寫6個簡單的函數(OS_CPU_C.C);
編寫4個匯編語言函數(OS_CPU_A.ASM);

圖7 按鍵任務

圖8 顯示任務
我們所用的編譯器為ADS1.2,所以將OS_CPU_A.ASM的后綴名改為OS_CPU_A.S,詳細的移植代碼可以參考文獻[3]。
嵌入式電子影像診斷儀應包含一個ISR(遙控接收ISR)和3個任務:“初始化任務”、“鍵盤掃描任務”、“液晶顯示任務”。初始化任務創建其余2個任務,因此優先級最高,設為7,鍵盤掃描任務設為9,液晶顯示任務設為11。
void initial_task(void *pdata); //初始化創建任務,優先級7
void key_task(void *pdata); //鍵盤掃描任務,優先級9
void display_task(void *pdata); //液晶顯示任務,優先級11
在以上任務中,initial_task()為一次性任務,創建完其它任務后自行刪除,其他任務都是周期性任務。按鍵和顯示流程圖如圖7、圖8所示。
本套系統的設計,充分考慮了電子影像儀的特點,尤其突出其對于實時性與可靠性的要求。控制板體積小、功能齊全、直觀性強、人機界面友好、操作方便,經過實際使用,完全滿足需要,可以批量生產。
[1] 周立功,等.ARM微控制器基礎與實踐[M].北京:北京航空航天大學出版社,2003.
[2] 杜春雷.ARM體系結構與編程[M].北京:清華大學出版社,2003.
[3] 周立功.張華.深入淺出ARM7-LPC213x/214x(上、下冊)[M].北京:北京航空航天大學出版社,2005.
[4] 任哲,等.嵌入式操作系統基礎uC/OS II和Linux[M].北京:北京抗空航天大學出版社,2006.
[5] 杜春蕾.ARM體系結構與編程[M].北京:清華大學出版社,2003.
[6] 魯昀,陳明.基于LPC2210的液晶顯示器的設計[J].計算機技術與應用,2006,(4):42-43.
TH166
A
1009-0134(2010)10(上)-0188-03
10.3969/j.issn.1009-0134.2010.10(上).59
2010-05-17
科研項目:江西省教育廳科研項目(GJJ10657)
徐建(1979 -),男,副教授,碩士,研究方向為嵌入式軟硬件技術、高頻電源技術。