基于CH341A的USB串口通訊設(shè)計(jì)
2.2 MCU與PC之間USB通訊適配
該適配電路適用于計(jì)算機(jī)無(wú)RS232接口,卻需進(jìn)行RS232通訊的數(shù)據(jù)采集系統(tǒng),MCU進(jìn)行底層相關(guān)數(shù)據(jù)的采集與存儲(chǔ),然后在上位機(jī)的控制下通過適配電路進(jìn)行數(shù)據(jù)的傳遞。MCU與PC機(jī)通過USB接口進(jìn)行通訊的適配器原理電路如圖5所示,在本設(shè)計(jì)中MCU采用microchip公司的PIC1 6F877A,利用MCU的串口模塊,可以與CH341A直接構(gòu)成3線串口通訊方式,經(jīng)過CH341A轉(zhuǎn)換后,通過USB接口與PC機(jī)相連。當(dāng)PC串口通訊波特率較高或者單片機(jī)來(lái)不及接收,利用MCU的RD0引腳控制CH341A的TEN#引腳,當(dāng)MCU空閑且可以接收串口數(shù)據(jù)時(shí)置TEN#為低電平,當(dāng)單片機(jī)較忙或者不便于接收串口數(shù)據(jù)時(shí)置TEN#為高電平。使CH341A暫停發(fā)送下一個(gè)字節(jié),實(shí)現(xiàn)速率控制。本文引用地址:http://www.biyoush.com/article/172896.htm
單片機(jī)軟件流程如圖6所示,系統(tǒng)初始化完成I/O口、看門狗等設(shè)置;串口初始化進(jìn)行波特率、檢驗(yàn)位、通訊方式等設(shè)置。
上位機(jī)軟件向單片機(jī)發(fā)送一個(gè)指令,當(dāng)單片機(jī)檢測(cè)到該指令后判斷是否有鍵按下,如果有,則進(jìn)行相應(yīng)鍵值的判斷,根據(jù)鍵值的不同向上位機(jī)發(fā)送不同的數(shù)據(jù)。在對(duì)本電路測(cè)試中,上位機(jī)指令代碼為“CCh”,單片機(jī)發(fā)送的數(shù)據(jù)與鍵值相對(duì)應(yīng),如按下1號(hào)鍵,發(fā)送數(shù)據(jù)“01h”,測(cè)試結(jié)果如圖7所示。
上述兩種產(chǎn)品結(jié)構(gòu)緊湊,體積小巧,通訊可靠,可以滿足絕大多數(shù)應(yīng)用場(chǎng)合的需求,但在通訊速率的設(shè)置上,應(yīng)盡量采用CH341推薦的波特率,否則可能出現(xiàn)通訊異常的情況。
實(shí)際上,CH341推薦的波特率基本涵蓋了各類通訊軟件及產(chǎn)品所采用的波特率,也與51系列MCU采用11.059 2 MHz晶振時(shí)設(shè)置的波特率相兼容,因此,推薦波特率也可以滿足各種場(chǎng)合的需求。
3 結(jié)束語(yǔ)
CH341A作為一種新型的、功能強(qiáng)大的USB接口轉(zhuǎn)換芯片,可以工作在多種模式,且接線簡(jiǎn)單、控制方便、使用靈活,可滿足用戶的多種需求。由于CH341A屏蔽了USB接口的底層協(xié)議,可以方便地在嵌入式系統(tǒng)中增加USB接口,無(wú)需電平轉(zhuǎn)換器件,在驅(qū)動(dòng)程序的控制下直接與PC機(jī)通訊,極大地方便了用戶,縮短開發(fā)周期、減少研發(fā)費(fèi)用。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
評(píng)論