郭鑫 馬俊
摘 要:21世紀是信息化的世紀,計算機技術迅速發展,越來越多的計算機采用傳輸速率更快且性能更加優良的USB接口,而個人計算機上的RS232,正在逐漸被淘汰。但在工業領域中RS232應用仍十分廣泛。本文在此應用背景下,研究和設計USB與RS232之間的接口轉換電路,硬件開發采用了SOPC設計思想,添加不同功能的模塊,構建NIOS II系統,在Quartus II中完成硬件開發,而軟件開發在NIOS II IDE中完成,利用FPGA平臺,實現USB與RS232之間的接口轉換,實現上位控制計算機與底層設備之間的數據通信。
關鍵詞:USB接口;RS232接口;FPGA;SOPC
隨著計算機科學技術的迅速發展,如今對計算機的數據通信速度有了更高的要求,因此計算機的外圍接口也發展迅速。由于USB在個人計算機上應用越來越廣泛,逐漸淘汰了RS232,但目前仍然很多采用RS232串行接口的工業設備、儀器儀表領域中,考慮到可行性和成本原因,立即將這些設備改造成USB接口是不可行的。因此本文選擇在FPGA開發平臺下實現USB轉RS232接口,通過這樣將計算機與傳統的設備相連,實現USB與RS232接口的雙向數據傳輸,同時也擴大了USB的傳輸距離。
一、基于FPGA嵌入式IP的SOPC系統
基于FPGA的嵌入式IP硬核SOPC系統是在FPGA中預先植入NIOS處理器。為了更好的通用性,必須將常規的嵌入式處理器集成諸多通用和專用的接口,但這樣又不得不增加芯片的成本和功耗。但如果將ARM或者其他處理器核以IP硬核的方式植入FPGA中,利用FPGA的可編程邏輯資源和可擦除性,按照系統功能需求來添加接口功能模塊,如USB模塊和RS232模塊,既能實現目標系統功能,又能實現系統的低成本和低功耗。這樣使得FPGA靈活的硬件設計與處理器的強大軟件功能有機地結合在一起,更有效地實現SOPC系統。
雖然基于FPGA嵌入IP硬核能有效降低系統成本和功耗,但也有不足之處:(1)IP硬核多來自第三方公司。(2)這些IP硬核是預先植入系統的。(3)設計者無法根據實際需要改變處理器的結構。(4)無法根據實際設計者的需求在同一FPGA開發板中集成多個處理器。根據以上不足,FPGA生產商設計了嵌入式系統IP軟核。利用Quartus II和SOPC Builder,對NIOS II及其外圍設備進行模塊構建,使得系統能夠滿足設計者在硬件結構、功能特點、資源占用方面的要求,而且不同于IP硬核,NIOS II軟核在同一FPGA下可以添加多個IP軟核,只要FP
GA的邏輯資源夠用就行。在成本方面,因為NIOS II是Altera公司直接提供,因此省下支付第三方廠商的知識產權費用。
二、接口硬件電路設計
本文采用的是CH376芯片作為USB接口的芯片。CH376芯片是文件管理控制芯片,用于單片機系統讀寫U盤或者SD卡中的文件,本文主要用到了CH376芯片的USB設備方式。其中CH376采用8位并口接口方式連接到FPGA上進行控制。
根據CH376手冊,了解CH376的特點,設計出在3.3v電源電壓下USB的外圍電路。本文設計的USB電路有一下幾個特點:(1)自供電:5VVCC;(2)傳輸速度:12Mbps;(3)USB芯片:CH376。(4)時鐘電路:12MHz晶振。
接口轉換主要思想是在FPGA上面構建NIOS II系統平臺,這樣在SOPC Builder中已經添加了RS-232模塊,因此串口可以直接連接到FPGA上,只需要保證電氣的相容性即可。在RS-232外圍電路設計中,采用了MAX3232芯片來完成RS232總線電平與TTL電平的轉換。
三、基于NIOS II IDE系統軟件開發
USB分主機模式和設備模式,本文主要用到了USB的設備模式。FPGA開發板通過USB接口與電腦相連,電腦里面的上位機來發送、接收USB數據,實現FPGA開發板與電腦的數據通信。本論文通過設計的USB接口連接到FPGA上,用FP
GA來控制USB芯片的接收、發送數據,這樣在FPGA NIOS II系統內完成USB接口與RS232接口的數據交換。基于FPGA的SOPC設計思想,在開發過程中主要使用到了Quartus II9.0、SOPC Builder、NIOS II IDE9.0軟件。
將所做的USB接口、RS232接口通過導線連接到黑金FP
GA開發板的擴展引腳上,同時將USB接口通過USB數據線連接到電腦上,RS232接口通過串口線連接到電腦上,通過上位機串口調試助手和USB調試助手來驗證調試轉換電路設計是否實現。
圖1 硬件電路低連接圖
如圖2所示,打開串口調試助手,串口設置為COM1,波特率設置為115200,校驗位為NONE,數據位為8,停止位為1。當在串口調試助手中發送數據“西南交通大學電氣工程學院”時,數據經過FPGA,在NIOS II系統內完成數據轉換,由USB接收,在USB調試助手上顯示出來“西南交通大學電氣工程學院”。在USB調試助手中輸入“Southwest jiaotong University”,點擊“Send”,數據經過FPGA,在NIOS II系統內被串口接收,并在上位機程序串口調試助手中正確顯示出來。經過在上位機程序USB調試助手和串口調試助手中的調試,能夠完成USB接口轉換RS232接口,正常實現接口之間的數據轉換。
圖2 USB接口與RS232接口調試窗口圖
結論:本文在查詢翻閱國內外關于接口轉換的期刊文獻的基礎上,闡述了本文基于FPGA的接口硬件電路設計的理論基礎和可行性。在闡述了USB接口和RS232接口通信原理后,從3個主要部分入手:首先是自行設計外圍硬件電路,通過跳線連接到FPGA上;然后是硬件開發中實現將外圍硬件電路USB接口和RS232接口與FPGA連接起來構成一個NIOS II系統,最終實現硬件電路的開發;最后是接口電路的軟件開發,在實現USB接口、RS232接口與FPGA互連后,主要軟件編程驅動實現USB與RS232的接口數據通信,完成接口轉換。
參考文獻:
[1] 周立功等.SOPC嵌入式系統基礎教程.北京:北京航空航天大學出版社,2006
[2] 孫源.基于FPGA的多功能串行通信測試系統設計:[碩士學位論文].南京:南京理工大學控制理論與控制工程,2010