USB接口的RS485信號模擬器設計
摘 要 設計了基于USB2.O接口的RS485信號模擬器。它通過(guò)終端應用程序軟件設置串行通信參數和數據幀發(fā)送格式,并在信號模擬器內部形成信號閉環(huán)反饋,即將實(shí)際發(fā)送的數據通過(guò)反饋回路回送給終端應用程序軟件并顯示出來(lái)。文中詳細介紹了USB接口芯片FT245R的工作原理及應用,并在MFC平臺下調用 FT245R的動(dòng)態(tài)鏈接庫接口函數進(jìn)行終端應用程序軟件設計。
關(guān)鍵詞 USB接口 FT245R RS485 自反饋 MFC信號模擬器
引 言
USB總線(xiàn)是一種高效、快速、價(jià)格低、體積小、支持熱插拔的串行通信接口,目前USB這一接口形式在電子產(chǎn)品的設計中得到了廣泛應用。本文所設計的RS485信號模擬器就是采用USB接口總線(xiàn),可以很方便與PC機進(jìn)行連接,并且USB接口可以為外界提供電源。 RS485是一種平衡方式傳輸的串行接口標準,它的電氣特性標準中有嚴格規定,但它的通信協(xié)議可以由用戶(hù)自行定義。本文將詳細討論USB總線(xiàn)信號與 RS485總線(xiàn)信號的相互轉換,及PC機終端應用軟件對USB接口芯片的各種操作。在此基礎上用戶(hù)可以根據不同需求,在終端應用軟件中自行設計通信協(xié)議。
1 總體設計
信號模擬器主要包括USB接口芯片、單片機子系統、RS485與TTL電平轉換子系統。它可以實(shí)現兩個(gè)功能:a.信號模擬器通過(guò)應用程序軟件設置串行通信參數和數據幀結構,最終輸出的信號是指定串行通信參數和數據幀格式的RS485總線(xiàn)數據,可以為采集器提供標準信號源;b.在信號模擬器內部可以實(shí)現信號自反饋功能,即將實(shí)際發(fā)送給采集器的數據通過(guò)信號模擬器內部回環(huán)電路回送給終端應用程序軟件并最終顯示出來(lái),以驗證信號模擬器發(fā)送數據是否正確。
USB接口芯片FT245R是將USB接口信號轉換成8位并行信號,由MCU讀取8位并行信號數據,然后MCU通過(guò)全雙工的串口將讀到的數據發(fā)送給 RS485電平轉換電路1,這樣輸出的信號就是滿(mǎn)足指定要求的標準RS485總線(xiàn)信號。將RS485電平轉換電路1輸出端信號反饋給RS485電平轉換電路2的輸人端,這樣可以把RS485電平轉換成TTL電平,再通過(guò)全雙工的串口進(jìn)行接收,最終將數據回送到終端應用程序軟件。信號模擬器的設計總體框圖如圖1所示。
2 硬件電路設計
2.1 USB接口芯片FT245R
FT245R由FTDI(Future Technology Devices Inte-national Ltd.)公司推出,該芯片主要完成USB串行總線(xiàn)和8位并行FIFO接口之間的相互協(xié)議轉換。整個(gè)USB通信協(xié)議全部由芯片自動(dòng)完成,開(kāi)發(fā)者無(wú)須考慮底層固件的編程。該芯片利用內部集成的時(shí)鐘電路進(jìn)行工作,無(wú)須外部提供時(shí)鐘;完全兼容USB2.O協(xié)議。它有256字節的接收緩沖區和128個(gè)發(fā)送緩沖區,可以進(jìn)行數據的大吞吐量操作。通過(guò)8位并行數據口D[O:7]和4位讀寫(xiě)狀態(tài)/控制口RXF、TXE、RD、WR就可實(shí)現與微控制器的數據交換。
下面介紹讀寫(xiě)FT245R FIFO操作時(shí)序要求。
(1)FT245R FIFO讀操作
讀操作時(shí)序如圖2所示。當RXF為低,表示當前FIFO接收緩沖區內有數據,可以執行讀操作讀取接收緩沖區數據。在RD電平由高變低,FIFO控制器將接收緩沖區中的數據輸出到8位數據端口上,MCU此時(shí)只需讀取I/O口就可以將數據取到內部數據總線(xiàn)上來(lái),再將RD信號拉高完成1字節數據的讀取。當將 FIFO接收緩沖區中的數據全部取出后,RXF被拉高表示數據為空。在RXF為高時(shí),禁止從FIFO接收緩沖區讀取數據。
評論