任 琳 殷 彤 劉慶山 萬 娜 王 亙
(北京無線電計量測試研究所,北京 100039)
當今電子技術和工業控制技術快速發展,計算機控制系統已成為電子設備中的最重要的組成部分。現代化電子設備市場需求日益復雜和多樣化,正朝著高速、高集成度、低功耗的系統集成方向發展。相應地對計算機控制系統的信號處理能力、數據傳輸性能和設備集成度也提出了更高的需求。傳統的控制系統實現技術,已經越來越難以滿足系統對實時性、可擴展性等苛刻要求。
近年來集成電路制造工藝水平大幅度提高,可編程邏輯器件FPGA在邏輯單元、芯片速度等方面的性能不斷提升,同時還成功降低了器件功耗,其邏輯規模已完全能滿足電路設計者將處理器、嵌入式外設以及復雜的邏輯電路整合到一片芯片上的需求,以此構成性能強大、接口豐富、高效靈活的片上系統,即SOPC(System on Programmable Chip)技術。它結合了SOC集成度高、設計成本低和FPGA設計周期短、靈活性大的優點[1,2]。設計師可以很快的將硬件系統(包括處理器、存儲器、外設接口和用戶邏輯電路)與常規軟件集成在單一可編程的芯片中。FPGA器件強勁的硬件性能,搭配Vxworks嵌入式實時操作系統的運用,使得SOPC系統設計周期更短,成本更低,更易于重構和升級維護,能充分滿足控制應用領域對實時性的要求[3]。
SOPC結合了SOC和可編程邏輯器件各自的優點,一般具備以下基本特征[4,5]:至少包含一個嵌入式處理器內核;具有小容量片內高速RAM資源;豐富的IP核資源可供選擇;足夠的片上可編程邏輯資源:處理器調試接口和FPGA編程接口;可能包含部分可編程模擬電路;單芯片、低功耗、微封裝。
為了滿足目前面向分布式、小型化方面的設計需求,本文提出一種基于SOPC的計算機控制系統,以實現控制、信號采集及數據記錄等功能,本系統體積小、集成度高、通用化強、擴展性強,可靠性高。
計算機系統由計算機控制模塊和底板組成,如圖1所示。計算機控制系統可以實現如下功能。
1)具有信息處理的功能;
2)具有儲存程序及數據的功能;
3)具有在計算機系統不加電時,通過上位機進行數據提取的功能;
4)具 有 可 配 置 RS422 同 步/異 步 、1553B、FlexRay、CAN、以太網等通信接口,與外部設備進行相應的信息交換的功能;
5)具有可配置IO輸入輸出接口功能,可輸出相應的控制信號及檢測相應的輸入信號;
6)具有可配置AD模數轉換接口功能,可采集相應的電壓及電流信號。
計算機控制模塊由SOPC、FPGA、接口芯片、電源芯片等組成,具有豐富的外圍接口,為系統提供控制平臺。底板主要實現數字量輸入輸出光電隔離、RS422通訊收發隔離、CAN通訊隔離、AD接口信號調理和信號隔離、FlexRay信號隔離濾波和終端匹配。
計算機控制系統具有豐富的接口,可實現4路RS422同步/異步通訊接口、1路1553B通訊接口、1路FlexRay接口、2路CAN通訊接口、1路RS422調試串口、120路數字量I/O接口(輸入輸出可配置)、16路AD接口、2路10M/100M自適應以太網接口。只需要更改底板中相應的信號隔離電路便可滿足不同的系統設計需求,使得系統集成更加快速方便,提高計算機系統系統通用性。
計算機控制模塊由SOPC、FPGA、接口芯片、電源芯片等組成。原理框圖如圖2所示。
處理器選用深圳國微電子第二代32位RISC高性能嵌入式SOPC芯片SM9A025,SOPC芯片遵循ARM體系架構,片上集成16KB指令Cache和16KB數據Cache;擁有與CPU同頻的256KB高速程序存儲器和64KB高速數據存儲器;采用兩條獨立的32位AHB總線分別作為控制總線和數據總線。SOPC片上集成1553B、429、UART、LVDS、SPI、I2C、CAN、GPIO等豐富的外設控制接口;擁有timer、wdt、rtc、中斷控制器、浮點加速器等系統資源。
計算機控制模塊以SOPC芯片為控制核心,配合外圍時鐘、復位、SDRAM、FLASH、調試網口和調試串口等,為整個計算機控制系統提供控制平臺。采用256MB SDRAM作為SOPC的大容量外擴內存,使CPU能滿足程序運行和數據的運算處理。SOPC內集成2MB SPI FLASH,用來存儲系統的Boot啟動程序、用戶程序、SOPC內置FPGA配置程序,并使用8MB SPI FLASH外擴用戶程序空間。數據存儲器由1GB NAND FLASH芯片構成,主要用來存儲系統的用戶數據。為實現計算機系統掉電時能通過上位機讀取數據的功能,采用賽普拉斯的CY7C68013實現上位機通過USB接口訪問NAND FLASH。
使用FPGA來實現4路HDLC協議的同步/異步串口通訊。SOPC外擴2片ADC實現16通道AD采樣。SOPC內置1路1553B協議收發器經過1553B耦合變壓采用直接或間接耦合方式,實現1路1553B通訊。120路數字量IO由FPGA來實現,輸入輸出屬性可以通過燒寫FPGA程序調整。采用FlexRay協議芯片MFR4310通過AMI接口連接到FPGA上的方式實現1路FlexRay通訊接口,并預留FPGA IP核實現方式,后期可進行IP核開發。SOPC內部自帶2路CAN協議處理器,底板中只需增加CAN收發器就可以實現2路CAN總線接口。SOPC內部自帶UART0,再通過RS422電平轉換芯片構成調試串口,主要用于調試時與上位機串口進行通訊,并進行程序升級。
3.2.1 數字量IO接口設計
計算機控制模塊中數字量I/O由FPGA來實現,通過燒寫FPGA程序可以改變IO的輸入輸出屬性,共可實現120路。底板中根據具體需要實現輸入輸出的光電隔離。I/O從上電到配置程序完成前一直處于高阻態。配置完成后,如果沒有接到任何命令,輸出IO一直保持高阻態,并在FPGA的數字量I/O輸出寄存器實現禁止輸出全“1”功能。
3.2.2 RS422通訊接口設計
計算機控制模塊采用外置600萬門FPGA來實現串口HDLC的協議,同步異步模式可配置,同時使用8片RS422收發器實現4路串口,底板設計有RS422隔離驅動電路,可以根據系統的要求來選擇是否需要隔離設計。RS422通訊接口設計如圖3所示。
FPGA用于緩存RS-422通信數據,FIFO容量設置為256字節,通信速率采用115.2kbps,并可根據上層軟件設置調整波特率為38.4kbps或115.2kbps或 921.6kbps,通信誤碼率能夠實現不大于10-7。
3.2.3 CAN通訊接口設計
計算機控制模塊的SOPC內部集成2路CAN協議控制器,通過上層軟件配置成兩路冗余的CAN總線通信功能,實現雙總線冗余設計,能夠兼容CAN2.0B和CAN2.0A標準,傳輸速率可通過編程設置,且最高為1MBps。底板中設有CAN收發器,型號選用美國ADI公司生產的LTM2889,LTM2889為電流隔離型收發器,該器件支持靈活數據速率,最高支持4MBps,可通過內部隔離電路實現控制器和驅動器之間的隔離,該芯片自帶ESD防護,能夠在收發器接口上承受瞬時25kV的電壓,并不會發生閉鎖或受損現象,達到隔離保護的目的。CAN通訊接口設計如圖4所示。
3.2.4 FlexRay通訊接口設計
FlexRay接口實現方案為采用NXP的FlexRay協議控制器MFR4310和收發器TJA1080來實現,協議控制器MFR4310通過AMI(Asynchronous Memory Interface)總線與FPGA連接,FPGA實現MFR4310與SOPC的接口轉換。
計算機控制模塊只實現FlexRay通訊協議部分,信號隔離、總線收發器、信號濾波、終端匹配都在底板實現,整體實現如圖5所示。
計算機控制系統的軟件分為三部分,分別為Boot啟動軟件、VxWorks應用軟件、上位機數據導出軟件。軟件組成圖如圖6所示。Boot軟件的功能是實現SOPC啟動配置、初始化SOPC接口、VxWorks鏡像升級及加載、片內FPGA代碼升級及加載。Vx-Works軟件的功能是實現VxWorks啟動配置、接口驅動以及USB數據導出功能,包括:SDRAM、UART、FLASH、ADC、1553B、以太網、CAN、FlexRay以及離散量輸入輸出IO。上位機數據導出軟件的功能是在計算機系統不加電的情況下,通過USB接口與上位機進行通訊,將存儲的數據導出至上位機。通用計算機控制系統運行VxWorks6.8系統,開發采用Workbench3.2集成開發環境,支持代碼編輯、編譯以及調試功能。軟件通過RS422調試串口進行升級。
介紹了一種基于SOPC的計算機控制系統的設計方法。通過以SOPC芯片為處理核心的嵌入式設計方案使整個計算機系統的集成度、通用性和可擴展性進一步得到提高。經過調試,系統各模塊技術指標均符合設計要求,整個系統運行穩定。采用基于SOPC的計算機控制系統與傳統的控制系統相比具有更強大的數據處理能力、更豐富的通訊接口以及較高的靈活性。為小型化、高性能計算機控制系統的研制奠定了基礎。
[1] 柏玉嫻.基于SOPC技術的嵌入式控制系統研究與設計[D].南京理工大學,2012.
[2] 孫辰.基于SOPC架構的IP核設計研究[D].電子科技大學,2014.
[3] 李廣深,任德志.基于SOPC技術的運動控制器設計[J].儀器儀表用戶,2007(4).
[4] 賀今朝.一種堆于FPGA的模糊控制器的研究[D].大連理工大學,2002.
[5] 嚴璐.SOPC技術在雷達處理系統中的應用[D].南京理工大學,2009.