在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA Cyclone EP1C20實現CT機掃描控制系統的應用方案

電子設計 ? 來源:微計算機信息 ? 作者:劉宇飛;郭宏 ? 2021-04-14 14:10 ? 次閱讀

1 引言

近年來,可編程邏輯器件的發展,使得SOPC (System On A Programmable Chip,可編程片上系統)成為可能, 即在一塊可編程芯片上實現整個系統。NiosAltera公司開發的可用于SOPC設計的處理器軟核。基于Nios軟核的SOPC系統,其最大特點就是靈活,可以根據自己的需要靈活改變Nios的外圍設備,使得硬件利用效率達到最高,同時它具有ISP(In System Programmable,在系統編程)的功能,可裁減,可擴充,可升級。本文充分利用了Nios系統靈活定制的優點,設計實現了一套CT機掃描系統控制器

2 CT掃描系統控制器

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

掃描系統的三部分中,X射線發生系統產生射線,掃描系統控制器通過CAN總線和它通信,發送X射線參數和動作指令,同時接收X射線發生器的狀態信息。數據采集系統負責對X射線采樣和傳輸數據,它掃描系統控制器采用RS422總線與其通信,發送控制指令,并接收指令執行狀態。同時有IO接口用作采樣觸發脈沖和采樣使能。對準柵通過擋板來調節X射線的開口寬度,擋板由一個步進電機驅動。掃描系統控制器接收來自上級的開口寬度指令,然后發出控制脈沖,控制步進電機到達指定位置,通過編碼器接收步進電機轉子位置信號,形成閉環。

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

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

3 基于Nios的硬件設計

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

通過Altera的SOPC Builder軟件包可以定制基于Nios軟核的FPGA系統,它提供了一些基本的Nios外設模塊,如UART控制器、定時器、FLASH控制器、SDRAM控制器等。本文設計的CT掃描系統控制器FPGA內部結構如圖2所示。

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

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

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

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

另外,本文根據應用的特殊要求設計了自定義模塊——掃描時序控制模塊和步進電機控制模塊。在SOPC系統中,更容易選擇系統功能是由運行于Nios中的軟件實現,還是使用FPGA硬件實現,由此可以均衡系統軟硬件的功能,使效率達到最高。系統功能用FPGA硬件實現的優勢在于數據的并行處理,實時響應非常快;而用處理器軟件實現的優勢在于通訊和復雜情況的判斷等。本文中為了提高系統的實時性,將步進電機控制在FPGA中實現。步進電機控制FPGA模塊如圖3所示。

圖3右邊為AVALON總線接口,由片選,地址線、數據線、讀寫使能和中斷信號組成。左邊為FPGA的輸出,即與步進電機驅動器接口:DIR為步進電機運行方向控制,Pulse為步進電機的控制脈沖,HOFF為保持信號。下方三個信號為編碼器的反饋信號,分別是A相脈沖、B相脈沖和初始位置信號。步進電機控制模塊接收Nios通過AVALON總線發送來的目標位置信息,然后根據當前位置及目標位置,得到到達目標所需的步進電機的脈沖數,發出相應的脈沖。同時,根據反饋的編碼器信號,解碼得到電機當前位置信息,并判斷步進電機運動是否達到目標位置,控制任務是否完成。然后產生中斷,通知Nios軟核任務完成情況。可見運行于Nios中的軟件只需將目標位置通知電機控制模塊即可,大大減輕了CPU的負擔。

4 軟件設計

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

本文中,軟件結構可分為三個結構層次,最底層為硬件抽象層,主要由Nios軟核外設驅動程序中斷服務程序以及板級初始化程序組成,外設驅動程序包括UART控制器, CAN控制器, 步進電機控制模塊,掃描控制模塊的驅動程序,此部分是操作系統與底層硬件的接口。第二層為Nucleus操作系統內核及其服務,它提供任務調度,中斷管理,內存管理、定時控制等服務。最高層為應用軟件層,運行在操作系統之上,完成所有的應用功能。

根據系統功能,應用軟件結構如圖4所示:

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

數據采集管理單元是控制器與數據采集系統的接口,它負責數據采集系統的初始化、數據采集參數設置、數據采集系統狀態監控和對其錯誤狀態進行處理。這部程序分包括串口通訊接收任務和數據采集系統管理任務。

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

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

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

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

本文的應用軟件使用GNU交叉編譯器編譯,然后經ATI公司的Codelab軟件調試通過。

5 實驗驗證

為驗證調試CT掃描系統控制器,搭建了測試平臺。測試平臺由一臺PC機、CT數據采集系統和對準柵組成,其中PC機模擬CT掃描系統控制器的上級單元和 X射線發生系統。

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

6 結論

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

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

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19295

    瀏覽量

    230001
  • FPGA
    +關注

    關注

    1629

    文章

    21746

    瀏覽量

    603756
  • 控制系統
    +關注

    關注

    41

    文章

    6625

    瀏覽量

    110639
收藏 人收藏

    評論

    相關推薦

    Cyclone_II_EP2C20_原理

    本帖最后由 mr.pengyongche 于 2013-4-30 02:58 編輯 Cyclone_II_EP2C20_原理
    發表于 08-11 09:25

    DSP+FPGA電機控制系統

    FPGA使用 ALTERA的Cyclone3 的 EP3C5E144C8N在設計的過程中遇到了很多問題,從原理圖設計,方案驗證,制板,焊接,調試解決了很多為題,收貨還是蠻多的,DSP
    發表于 07-18 16:59

    FPGA Cyclone II_EP2C5 EP2C8的頻

    FPGA Cyclone II_EP2C5 EP2C8的頻率計 基FPGA_Cyclone_II_EP2C5/
    發表于 11-30 12:17 ?87次下載

    基于cyclone EP1C6的LED 屏設計方案

    介紹了一種基于FPGA 的LED 大屏設計方案,采用自頂向下的設計思想,設計了基于FPGA 的雙口RAM 和掃描控制電路,解決了傳統LED
    發表于 06-15 09:34 ?26次下載

    基于PLC的液體CT探測器控制系統設計

    基于PLC的液體CT探測器控制系統設計:針對液體 CT 探測器設計了基于PLC 的控制系統實現了液體C
    發表于 12-19 14:57 ?21次下載

    基于FPGA的激光測距控制系統設計

    本文介紹一種基于FPGA 和ARM9 的激光測距系統的硬件原理設計和軟件設計方案。該方案采用SICK 公司的戶外型激光傳感器LMS221,和ALTERA 公司
    發表于 12-19 16:00 ?89次下載

    基于FPGA的激光測距控制系統設計

    本文介紹一種基于FPGA和ARM9的激光測距系統的硬件原理設計和軟件設計方案。該方案采用SICK公司的戶外型激光傳感器LMS221,和ALTERA公司
    發表于 07-21 17:38 ?46次下載

    基于ARM和FPGA的LED顯示屏控制系統的設計

    根據LED顯示模塊的結構特點,結合CPLD技術實現LED屏的動態掃描顯示,設計了基于ARM和FPGA的LED顯示屏控制系統;該系統以ARM芯
    發表于 04-17 15:10 ?121次下載

    基于ARM與FPGA的嵌入式數控系統設計

    基于ARM與FPGA設計了嵌入式數控系統。其ARM芯片采用Samsumg公司的基于ARM9的 S3C2410 , FPGA采用Altera公司的Cy
    發表于 07-25 18:22 ?74次下載
    基于ARM與<b class='flag-5'>FPGA</b>的嵌入式數控<b class='flag-5'>系統</b>設計

    基于cyclone EP1C6的LED大屏方案

    介紹了一種基于FPGA 的LED 大屏設計方案,采用自頂向下的設計思想,設計了基于FPGA 的雙口RAM 和掃描控制電路,解決了傳統LED
    發表于 03-02 16:48 ?34次下載
    基于<b class='flag-5'>cyclone</b> <b class='flag-5'>EP1C</b>6的LED大屏<b class='flag-5'>方案</b>

    基于EP1C3的進階實驗_Cyclone_PLL_Test1

    基于EP1C3的進階實驗_Cyclone_PLL_Test1
    發表于 01-21 11:24 ?5次下載

    基于EP1C3的進階實驗Cyclone_PLL_Test1

    基于EP1C3的進階實驗Cyclone_PLL_Test1
    發表于 10-27 18:20 ?18次下載

    開發板,Cyclone_II_EP2C20_原理圖.part2

    開發板,Cyclone_II_EP2C20_原理圖.part2
    發表于 03-19 11:45 ?15次下載

    基于Cyclone_EP1C6240C8_FPGA的ADS2807接口程序

    Cyclone EP1C6240C8 FPGA的ADS2807接口程序,主要用來使用FPGA控制ADS2807的采集。 采用
    發表于 01-31 16:46 ?11次下載

    如何使用FPGA進行串行通信控制系統的設計

    EP2C5Q208 上,進行在線編程調試,實現了串行通信控制功能。基于FPGA系統設計調試維護方便、可靠性高,而且設計具有靈活性,可以方
    發表于 11-07 11:18 ?6次下載
    如何使用<b class='flag-5'>FPGA</b>進行串行通信<b class='flag-5'>控制系統</b>的設計
    主站蜘蛛池模板: 在线观看国产日本| 天堂中文在线网| 97人洗澡人人澡人人爽| 日本一级大片| 美国一级毛片片aa久久综合| 四虎永久免费观看| 日韩一级生活片| 欧美色综合久久| 欧美日韩看片| 黄色伊人| 三级理论在线| 日本乱理论片免费看| 香蕉久久夜色精品国产小说| 天堂在线www| 欧美行爱| 国产精欧美一区二区三区| 俺去啦最新网址| 五月婷婷丁香色| 狠狠插狠狠插| 91国内在线| 加勒比一区二区三区| 四虎永久免费地址在线网站| 免费在线成人| 欧美性狂猛bbbbbxxxxx| 开心激情婷婷| 甘婷婷一级毛片免费看| 国产一区二区三区免费大片天美| 国产美女一区二区三区| 亚洲国产成人久久午夜| 91色在线观看| 天堂在线资源最新版| 伊人色强在线网| 男男gay高h文| 狠狠干一区| 四虎影视永久在线观看| 久久精品视频免费观看| 亚洲好骚综合| 最近国语视频免费观看在线播放| 久久精品国产大片免费观看| 免费看黄色片网站| 在线天堂中文官网|