當前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化

  1 引言

  基于Nios軟核的SOPC系統(tǒng),其最大特點就是靈活,可以根據(jù)自己的需要靈活改變Nios的外圍設(shè)備,使得硬件利用效率達到最高,同時它具有ISP(In System Programmable,在系統(tǒng)編程)的功能,可裁減,可擴充,可升級。本文充分利用了Nios系統(tǒng)靈活定制的優(yōu)點,設(shè)計實現(xiàn)了一套CT機掃描系統(tǒng)控制器。

  2 CT掃描系統(tǒng)控制器

  CT機是根據(jù)不同密度和厚度的物體對X射線的吸收程度不同的原理,通過計算機成像技術(shù),對病人身體成像的一種醫(yī)學設(shè)備。CT機掃描系統(tǒng)由X射線發(fā)生系統(tǒng),數(shù)據(jù)采集系統(tǒng),對準柵三個子系統(tǒng)組成,如圖1所示。掃描系統(tǒng)由掃描架承載,掃描架是一個旋轉(zhuǎn)體,掃描系統(tǒng)隨著掃描架旋轉(zhuǎn),以獲得不同角度下的人體信息,掃描架旋轉(zhuǎn)一周所得數(shù)據(jù)可產(chǎn)生圖像。

  掃描系統(tǒng)的三部分中,X射線發(fā)生系統(tǒng)產(chǎn)生射線,掃描系統(tǒng)控制器通過CAN總線和它通信,發(fā)送X射線參數(shù)和動作指令,同時接收X射線發(fā)生器的狀態(tài)信息。數(shù)據(jù)采集系統(tǒng)負責對X射線采樣和傳輸數(shù)據(jù),它掃描系統(tǒng)控制器采用RS422總線與其通信,發(fā)送控制指令,并接收指令執(zhí)行狀態(tài)。同時有IO接口用作采樣觸發(fā)脈沖和采樣使能。對準柵通過擋板來調(diào)節(jié)X射線的開口寬度,擋板由一個步進電機驅(qū)動。掃描系統(tǒng)控制器接收來自上級的開口寬度指令,然后發(fā)出控制脈沖,控制步進電機到達指定位置,通過編碼器接收步進電機轉(zhuǎn)子位置信號,形成閉環(huán)。

  CT掃描系統(tǒng)控制器負責三個子系統(tǒng)的協(xié)調(diào)控制,為掃描系統(tǒng)中設(shè)備的通信中心和控制中心。首先它和上級控制單元通信,接收指令和匯報各子系統(tǒng)狀態(tài),其次與各子系統(tǒng)通信,發(fā)送控制指令,并接收子系統(tǒng)的狀態(tài)信息。它根據(jù)接收到的控制指令和掃描架的位置信息,控制對準柵到達指定寬度,產(chǎn)生控制X射線發(fā)生和采樣的時序??梢?,CT掃描系統(tǒng)控制器包括了實時通信、電機控制,時序控制,是一個多任務的系統(tǒng)。并且對實時性要求也很高,任何一點時序發(fā)生偏差,都會對病人造成不必要的傷害。

  本文使用SOPC的方式,設(shè)計了以一片F(xiàn)PGA為核心的CT機掃描系統(tǒng)控制器硬件,定制了基于Nios軟核的FPGA系統(tǒng),然后設(shè)計了基于實時操作系統(tǒng)Nucleus的應用軟件,實現(xiàn)了CT機掃描系統(tǒng)控制器的上述功能。

  3 基于Nios的硬件設(shè)計

  本文使用了Altera 公司的FPGA Cyclone EP1C20,它擁有充足的可編程資源來實現(xiàn)SOPC。因為系統(tǒng)所有功能均由FPGA實現(xiàn),硬件電路除FPGA外只需加上存儲器件和一些物理層接口芯片即可。本文使用了一片8M Byte FLASH、一片16M Byte SDRAM,CAN總線收發(fā)器和RS422總線收發(fā)器等作為FPGA的外圍設(shè)備,硬件電路的結(jié)構(gòu)簡單明了,提高了系統(tǒng)的可靠性。FPGA系統(tǒng)運行時鐘為50MHz,保證了系統(tǒng)的運算速度。

  通過Altera的SOPC Builder軟件包可以定制基于Nios軟核的FPGA系統(tǒng),它提供了一些基本的Nios外設(shè)模塊,如UART控制器、定時器、FLASH控制器、SDRAM控制器等。本文設(shè)計的CT掃描系統(tǒng)控制器FPGA內(nèi)部結(jié)構(gòu)如圖2所示。

  Nios是流水線結(jié)構(gòu)的RISC 軟核處理器,它可以選擇32位架構(gòu)或者16位架構(gòu)。本文使用32位架構(gòu),并在SOPC Builder中設(shè)置了4K Byte數(shù)據(jù)緩存和指令緩存,以節(jié)省CPU讀取數(shù)據(jù)和指令的時間,提高系統(tǒng)性能。

  由圖2可見,Nios軟核通過AVALON總線與各擴展模塊相連接。AVALON總線是專門用于Nios連接外設(shè)的一種總線結(jié)構(gòu),它具有分離的地址,數(shù)據(jù)和控制線,并提供動態(tài)動態(tài)總線寬度調(diào)整等功能。Nios軟核為其主設(shè)備。

  AVALON總線上的從設(shè)備有SDRAM控制器,F(xiàn)lash控制器、定時器、通信接口UART控制器和CAN 控制器。在設(shè)計Nios軟核的外設(shè)時,采用已有的IP核能有效縮短設(shè)計周期,同時經(jīng)過充分驗證的IP核也保證了設(shè)計的可靠性。本文根據(jù)需要采用了三個UART控制器作為Nios軟核的外設(shè),分別用于與上級單元通信、與數(shù)據(jù)采集系統(tǒng)通信和調(diào)試信息輸出;還使用了CAST公司的IP 核作CAN 控制器,它支持CAN 2.0協(xié)議。

  在FPGA片內(nèi),使用了4 Kbyte的ROM,此ROM中包含了Altera提供的GERMS Monitor啟動引導程序,它可以實現(xiàn)啟動引導、程序下載和基本調(diào)試功能。在調(diào)試中,通過調(diào)試串口和GERMS Monitor通信,將可執(zhí)行的映象文件下載到SDRAM或FLASH中。

  另外,本文根據(jù)應用的特殊要求設(shè)計了自定義模塊——掃描時序控制模塊和步進電機控制模塊。在SOPC系統(tǒng)中,更容易選擇系統(tǒng)功能是由運行于Nios中的軟件實現(xiàn),還是使用FPGA硬件實現(xiàn),由此可以均衡系統(tǒng)軟硬件的功能,使效率達到最高。系統(tǒng)功

能用FPGA硬件實現(xiàn)的優(yōu)勢在于數(shù)據(jù)的并行處理,實時響應非??欤欢锰幚砥鬈浖崿F(xiàn)的優(yōu)勢在于通訊和復雜情況的判斷等。本文中為了提高系統(tǒng)的實時性,將步進電機控制在FPGA中實現(xiàn)。步進電機控制FPGA模塊如圖3所示。

圖3右邊為AVALON總線接口,由片選,地址線、數(shù)據(jù)線、讀寫使能和中斷信號組成。左邊為FPGA的輸出,即與步進電機驅(qū)動器接口:DIR為步進電機運行方向控制,Pulse為步進電機的控制脈沖,HOFF為保持信號。

下方三個信號為編碼器的反饋信號,分別是A相脈沖、B相脈沖和初始位置信號。步進電機控制模塊接收Nios通過AVALON總線發(fā)送來的目標位置信息,然后根據(jù)當前位置及目標位置,得到到達目標所需的步進電機的脈沖數(shù),發(fā)出相應的脈沖。同時,根據(jù)反饋的編碼器信號,解碼得到電機當前位置信息,并判斷步進電機運動是否達到目標位置,控制任務是否完成。然后產(chǎn)生中斷,通知Nios軟核任務完成情況??梢娺\行于Nios中的軟件只需將目標位置通知電機控制模塊即可,大大減輕了CPU的負擔。

  4 軟件設(shè)計

  由前文可以看出,掃描系統(tǒng)控制器需要完成多項功能,軟件體系復雜,而且通信、掃描控制、電機控制等環(huán)節(jié)要求很高的實時和并發(fā)性。在這種情況下,采用傳統(tǒng)的基于前后臺的嵌入式軟件設(shè)計方法將存在很大的困難,軟件設(shè)計結(jié)構(gòu)復雜,工作量大,且開發(fā)周期長,功能擴展受限。嵌入式實時操作系統(tǒng)為系統(tǒng)軟件設(shè)計提供了良好的開發(fā)平臺,承擔起系統(tǒng)資源管理的責任。這樣就簡化了應用程序設(shè)計,保障了軟件質(zhì)量,縮短了開發(fā)周期。本文采用了ATI公司開發(fā)的Nucleus操作系統(tǒng),Nucleus是一個搶先式多任務操作系統(tǒng)內(nèi)核,具有源代碼開放、性價比高、功能模塊豐富等優(yōu)點。

  本文中,軟件結(jié)構(gòu)可分為三個結(jié)構(gòu)層次,最底層為硬件抽象層,主要由Nios軟核外設(shè)驅(qū)動程序中斷服務程序以及板級初始化程序組成,外設(shè)驅(qū)動程序包括UART控制器, CAN控制器, 步進電機控制模塊,掃描控制模塊的驅(qū)動程序,此部分是操作系統(tǒng)與底層硬件的接口。第二層為Nucleus操作系統(tǒng)內(nèi)核及其服務,它提供任務調(diào)度,中斷管理,內(nèi)存管理、定時控制等服務。最高層為應用軟件層,運行在操作系統(tǒng)之上,完成所有的應用功能。根據(jù)系統(tǒng)功能,應用軟件結(jié)構(gòu)如圖4所示:

  系統(tǒng)管理單元是系統(tǒng)工作的核心,包括兩個任務:命令解析任務和系統(tǒng)狀態(tài)控制任務。命令解析任務接收上級控制單元指令,將其解析為各個子系統(tǒng)需要完成的任務目標,并發(fā)送給各個子系統(tǒng)控制單元。子系統(tǒng)控制單元控制子系統(tǒng)完成指令。系統(tǒng)狀態(tài)控制任務是一個狀態(tài)機,控制著CT掃描系統(tǒng)的運行狀態(tài)。它根據(jù)當前的系統(tǒng)狀態(tài)和上級指令,判斷系統(tǒng)的目標動作,控制掃描時序,同時和各子系統(tǒng)管理單元通信,同步各子系統(tǒng)管理單的任務執(zhí)行,并將各子系統(tǒng)狀態(tài)發(fā)送給上級控制單元。本文采用信號量和事件的手段同步各任務。

  數(shù)據(jù)采集管理單元是控制器與數(shù)據(jù)采集系統(tǒng)的接口,它負責數(shù)據(jù)采集系統(tǒng)的初始化、數(shù)據(jù)采集參數(shù)設(shè)置、數(shù)據(jù)采集系統(tǒng)狀態(tài)監(jiān)控和對其錯誤狀態(tài)進行處理。這部程序分包括串口通訊接收任務和數(shù)據(jù)采集系統(tǒng)管理任務。

  由前文可知步進電機控制功能由FPGA硬件實現(xiàn),因此對準柵管理單元的工作變得十分簡單,它從系統(tǒng)狀態(tài)控制部分接收對準柵開口寬度,將其傳遞給步進電機控制模塊,然后通過步進電機控制模塊的中斷服務程序,監(jiān)控任務完成情況。

  與數(shù)據(jù)采集控制類似,射線發(fā)生器控制部分負責射線發(fā)生器的初始化、射線參數(shù)設(shè)置、監(jiān)控射線發(fā)生器狀態(tài)和異常情況處理。它包括一個射線發(fā)生控制任務和CAN通訊處理任務。射線發(fā)生控制任務負責完成射線發(fā)生器的參數(shù)管理和狀態(tài)監(jiān)控,CAN通訊任務完成CAN總線數(shù)據(jù)的收發(fā)功能。

  上述任務均為事件驅(qū)動方式,在系統(tǒng)不工作時,Nios處理器處于空閑狀態(tài),這樣可以降低系統(tǒng)功耗。任務間通訊采用管道(Pipe)的方式,管道的優(yōu)點是可以傳輸變長的數(shù)據(jù)。CT掃描系統(tǒng)控制器需要接收系統(tǒng)配置、掃描、故障診斷等不同長度的上級控制指令,所以在命令解析任務與通信接口任務之間采用管道進行通訊,另一方面命令解析任務向各子系統(tǒng)控制任務發(fā)送的指令長度也是不確定的,所以與三個子系統(tǒng)管理單元通訊也采用管道的方式。

  合理的配置任務優(yōu)先級是嵌入式系統(tǒng)軟件可靠工作的必要條件。本文中,任務的根據(jù)重要程度可分為三個層次:首先是系統(tǒng)狀態(tài)控制,它是系統(tǒng)運行的中樞,同時控制著掃描時序,必須保證狀態(tài)控制任務的暢通運行,因此它具有最高優(yōu)先級設(shè)為1。其次是與上級控制單元的接口,包括串口通信任務和命令解析任務,控制器必須準確的接收上級單元的命令并及時反饋,所以這兩個任務優(yōu)先級設(shè)為2。最后是各子系統(tǒng)管理任務,其中射線管理單元如果誤操作,可能對人員造成損害,所以它的兩個任務優(yōu)先級較高,設(shè)為3,其余子系統(tǒng)管理單元任務較低均設(shè)為4。

本文的應用軟件使用GNU交叉編譯器編譯,然后經(jīng)ATI公司的Codelab軟件調(diào)試通過。

  5 實驗驗證

  為驗證調(diào)試CT掃描系統(tǒng)控制器,搭建了測試平臺。測試平臺由一臺PC機、CT數(shù)據(jù)采集系統(tǒng)和對準柵組成,其中PC機模擬CT掃描系統(tǒng)控制器的上級單元和 X射線發(fā)生系統(tǒng)。

  通過監(jiān)聽與上下級控制單元的通訊,測量對準柵的開口寬度,測量控制器輸出的數(shù)據(jù)采集和射線發(fā)生控制信號波形,證明,本文設(shè)計的CT掃描系統(tǒng)控制器能夠滿足多任務實時處理的要求。

  6 結(jié)論

  本文采用SOPC方式設(shè)計實現(xiàn)了多任務,實時響應的CT掃描系統(tǒng)控制器。硬件設(shè)計以Nios軟核和FPGA為核心,充分利用SOPC系統(tǒng)的靈活定制的特點,簡化了電路結(jié)構(gòu),縮短了設(shè)計周期,減輕了處理器運算負擔。同時基于嵌入式實時操作系統(tǒng)Nucleus的結(jié)構(gòu)化、層次化應用程序設(shè)計,保證了系統(tǒng)的軟件質(zhì)量和實時性。試驗表明,本文設(shè)計的CT機掃描系統(tǒng)控制器滿足多任務實時處理的要求。

  本文作者的創(chuàng)新點:使用基于Nios軟核和實時操作系統(tǒng)的方式實現(xiàn)了實時多任務控制系統(tǒng),充分利用了Nios軟核靈活定制的特點,使用硬件加速的方式減輕了處理器負擔,保證了系統(tǒng)性能。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉