當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信網(wǎng)絡(luò)
[導(dǎo)讀] 利用芯片CH372可在不了解任何USB協(xié)議或固件程序甚至驅(qū)動(dòng)程序的情況下,輕松地將并口或串口產(chǎn)品升級(jí)到USB接口。該系統(tǒng)在工業(yè)現(xiàn)場(chǎng)較之以往的系統(tǒng),可以更加靈活、高速、高效地完成大量數(shù)據(jù)交換,并可

利用芯片CH372可在不了解任何USB協(xié)議或固件程序甚至驅(qū)動(dòng)程序的情況下,輕松地將并口或串口產(chǎn)品升級(jí)到USB接口。該系統(tǒng)在工業(yè)現(xiàn)場(chǎng)較之以往的系統(tǒng),可以更加靈活、高速、高效地完成大量數(shù)據(jù)交換,并可應(yīng)用于多種控制系統(tǒng)之中,具有很大的應(yīng)用價(jià)值。

引言

現(xiàn)場(chǎng)總線(xiàn)網(wǎng)絡(luò)技術(shù)的實(shí)現(xiàn)需要與計(jì)算機(jī)相結(jié)合。目前,在微機(jī)上擴(kuò)展CAN總線(xiàn)接口設(shè)備一般采用PCI總線(xiàn)或者RS-232總線(xiàn)。PCI雖然仍是高速外設(shè)與計(jì)算機(jī)接口的主要渠道,但其主要缺點(diǎn)是占用有限的系統(tǒng)資源、擴(kuò)展槽地址;中斷資源有限;并且插拔不方便;價(jià)格較貴;而且設(shè)計(jì)復(fù)雜、需有高質(zhì)量的驅(qū)動(dòng)程序保證系統(tǒng)的穩(wěn)定;且無(wú)法用于便攜式計(jì)算機(jī)的擴(kuò)展;RS-232雖然插拔方便,但是傳輸速率太慢。

本文的設(shè)計(jì)思想是通過(guò)使用USB接口芯片CH372,將計(jì)算機(jī)與CAN網(wǎng)絡(luò)控制節(jié)點(diǎn)參數(shù)相互準(zhǔn)確快速地傳輸。CH372是一種USB總線(xiàn)通用接口芯片,在計(jì)算機(jī)系統(tǒng)中,通過(guò)CH372的配套軟件可提供簡(jiǎn)潔易用的操作接口,從而使其與本地端的單片機(jī)通訊就如同讀寫(xiě)硬盤(pán)中的文件一樣簡(jiǎn)單,由于CH372屏蔽了USB通訊中的所有協(xié)議,因而可在計(jì)算機(jī)應(yīng)用層與本地端控制器之間提供端對(duì)端的連接,在不需要了解任何USB協(xié)議或者固件程序甚至驅(qū)動(dòng)程序的情況下,就可輕松地將并口、串口產(chǎn)品升級(jí)到USB接口。

CAN適配器用于完成USB總線(xiàn)和CAN總線(xiàn)之間的數(shù)據(jù)交換。使用MCU統(tǒng)籌安排數(shù)據(jù)在USB總線(xiàn)和CAN總線(xiàn)之間的數(shù)據(jù)交換。以MCU為界可以將硬件分為兩部分:一是MCU和USB總線(xiàn)交換數(shù)據(jù);二是MCU控制CAN控制器,完成CAN數(shù)據(jù)包到CAN總線(xiàn)位序列協(xié)議解釋?zhuān)撓到y(tǒng)結(jié)構(gòu)如圖1所示。

硬件設(shè)計(jì)

USB接口電路在微控制器和USB接口的選擇上有兩種方式:一種是采用具備USB通訊功能的微處理器。隨著USB應(yīng)用的日益廣泛,IntelCypress、Philips等芯片廠(chǎng)商都推出了具有USB通信接口的微處理器,如8X930A、8X931A、EZ-USB等。由于這些微處理器具有USB接口,它們與過(guò)去的開(kāi)發(fā)系統(tǒng)不兼容,需要購(gòu)買(mǎi)新的開(kāi)發(fā)系統(tǒng),投資較高。另一種是采用普通微處理器加上專(zhuān)用的USB通信芯片。

現(xiàn)在的專(zhuān)用芯片中較流行的有USBN9602、SL11、PDIUSBD12等。但是,USB接口的開(kāi)發(fā)一般要求設(shè)計(jì)人員對(duì)USB的標(biāo)準(zhǔn)、Firmware編程及驅(qū)動(dòng)程序編寫(xiě)等有較深入的理解,因此限制了一般的硬件工程師對(duì)USB接口產(chǎn)品的開(kāi)發(fā)使用。本系統(tǒng)中使用了USB接口芯片CH372,使用非常簡(jiǎn)單,開(kāi)發(fā)人員只要熟悉單片機(jī)的編程及簡(jiǎn)單的VB或者VC應(yīng)用程序編程,在較短的時(shí)間內(nèi)就可開(kāi)發(fā)出相應(yīng)的USB產(chǎn)品。

CH372是一個(gè)USB總線(xiàn)的通用設(shè)備接口芯片,遵守USB1.1協(xié)議。在本地端,CH372具有8位數(shù)據(jù)總線(xiàn)和讀、寫(xiě)、片選控制線(xiàn)以及中斷輸出,可以方便地掛接到單片機(jī)、DSP等控制器的系統(tǒng)總線(xiàn)上;在計(jì)算機(jī)系統(tǒng)中,CH372的配套軟件提供了簡(jiǎn)潔易用的操作接口,與本地端的單片機(jī)通信就如同讀寫(xiě)硬盤(pán)中的文件。CH372內(nèi)置了USB通訊中的底層協(xié)議,具有內(nèi)置固件模式和外置固件模式。在內(nèi)置固件模式下CH372屏蔽了USB通信中的所有協(xié)議,在計(jì)算機(jī)應(yīng)用層與本地端控制器之間提供端對(duì)端的連接。使用CH372,不需要了解任何USB協(xié)議或者固件程序,甚至驅(qū)動(dòng)程序,就可以輕松地將并口、串口的產(chǎn)品升級(jí)到USB接口。

CH372芯片的RD和WR可以分別連接到單片機(jī)的讀選通輸出引腳和寫(xiě)選通輸出引腳。CS由地址譯碼電路驅(qū)動(dòng),用于當(dāng)單片機(jī)具有多個(gè)外圍器件時(shí)進(jìn)行設(shè)備選擇。INT可以連接到單片機(jī)的中斷輸入引腳,中斷請(qǐng)求是低電平有效。當(dāng)CS和RD以及A0都為低電平時(shí),CH372中的數(shù)據(jù)通過(guò)D7~D0輸出;當(dāng)CS和WR以及A0都為低電平時(shí),D7~D0上的數(shù)據(jù)被寫(xiě)入CH372芯片中;當(dāng)CS和WR都為低電平而A1為高電平時(shí),D7~D0上的數(shù)據(jù)被作為命令碼寫(xiě)入CH372芯片中。CH372芯片的UD+和UD-引腳應(yīng)該直接連接到USB總線(xiàn)上。如果為了芯片安全而串接保險(xiǎn)電阻或者電感,那么交直流等效串聯(lián)電阻應(yīng)該在5Ω之內(nèi)。CH372芯片內(nèi)置了電源上電復(fù)位電路,一般情況下,不需要外部提供復(fù)位。

CH372芯片正常工作時(shí)需要外部為其提供12MHz的時(shí)鐘信號(hào)。一般情況下,時(shí)鐘信號(hào)由CH372內(nèi)置的反相器通過(guò)晶體穩(wěn)頻振蕩產(chǎn)生。外圍電路只需要在X1和X0引腳之間連接一個(gè)標(biāo)稱(chēng)頻率為12MHz的晶體,并且分別為X1和X0引腳對(duì)地連接一個(gè)容量為30pF的高頻振蕩電容。CH372芯片支持5V電源電壓或者3.3V電源電壓。當(dāng)使用5V工作電壓時(shí),CH372芯片的VCC引腳輸入外部5V電源,并且,V3引腳應(yīng)該外接容量為0.1μF左右的電源退耦電容。當(dāng)使用3.3V工作電壓時(shí),CH372芯片的V3引腳應(yīng)該與VCC引腳相連接,同時(shí)輸入外部的3.3V電源,并且與CH372芯片相連接的其它電路的工作電壓不能超過(guò)3.3V。接口電路如圖2所示。

CAN總線(xiàn)接口電路這部分由CAN控制器、CAN接口芯片和光耦組成。CAN控制器完成CAN通訊協(xié)議的所有要求,CAN接口芯片是CAN控制器和物理總線(xiàn)間的接口,并經(jīng)由光耦將數(shù)據(jù)發(fā)往CAN總線(xiàn),接口電路圖如圖3所示。

CAN總線(xiàn)控制器采用Philips公司的SJA1000,并輔以該公司的PCA82C250接口驅(qū)動(dòng)器,通過(guò)光電隔離器件6N137實(shí)現(xiàn)了總線(xiàn)與控制器的隔離。SJA1000是一款獨(dú)立的控制器,用于汽車(chē)和一般工業(yè)環(huán)境中,從軟件的角度來(lái)看,對(duì)SJA1000的操作通過(guò)單片機(jī)的訪(fǎng)問(wèn)外部存儲(chǔ)器指令來(lái)完成,所以,SJA1000可以被視為一種擴(kuò)展RAM,SJA1000具有標(biāo)準(zhǔn)模式和Peli模式兩種應(yīng)用模式。標(biāo)準(zhǔn)模式符合CAN2.0A協(xié)議標(biāo)準(zhǔn),接收緩沖器有64個(gè)字節(jié);Peli模式符合2.0B標(biāo)準(zhǔn),能處理擴(kuò)展數(shù)據(jù)格式,具有仲裁丟失捕獲、代碼讀取等功能。

PCA82C250是CAN控制器和物理總線(xiàn)之間的接口,它具有限定的電流值以保護(hù)接收器輸出級(jí),避免陽(yáng)極和陰極的短路,以防止輸出級(jí)的損壞,PCA82C250CAN接口控制器提供了總線(xiàn)驅(qū)動(dòng)發(fā)送和接收能力,高速可達(dá)1Mbps,具有較強(qiáng)的抗干擾能力。

為了增強(qiáng)系統(tǒng)抗干擾能力,在SJA1000和CAN總線(xiàn)收發(fā)器82C250之間使用兩個(gè)高速光電隔離器件6N137實(shí)現(xiàn)總線(xiàn)和控制器的隔離,以避免干擾,提高工作可靠性。CAN控制器可以選擇從RX0、TX0或RX1、TX1接收和發(fā)送數(shù)據(jù),當(dāng)使用RX0、TX0工作時(shí),須將RX1接到一個(gè)穩(wěn)定的電平上。高速光耦6N137的最高速度可達(dá)10Mbps,利用它可以在隔離的狀態(tài)下保證系統(tǒng)的高速可靠。

軟件設(shè)計(jì)

本設(shè)計(jì)中采用的微控制器為P89C51RD2,它是采用先進(jìn)的CMOS工藝的單片8位微處理器。工作在6時(shí)鐘模式時(shí),速度是標(biāo)準(zhǔn)51單片機(jī)的兩倍,此時(shí)最高外部晶振可達(dá)20MHz。此外,該機(jī)型支持ISP編程和IAP編程。軟件主程序的流程圖如圖4所示。

首先進(jìn)行MCU、SJA1000和USB的初始化,初始化后系統(tǒng)處于循環(huán)等待狀態(tài),若有中斷產(chǎn)生,就進(jìn)入相應(yīng)的中斷服務(wù)程序,如果CAN總線(xiàn)有數(shù)據(jù)上傳,則轉(zhuǎn)入CAN中斷服務(wù)程序,由微處理器從SJA1000緩沖區(qū)接收數(shù)據(jù),寫(xiě)入微處理器的數(shù)據(jù)緩沖區(qū),并置標(biāo)志返回,如果上位機(jī)有數(shù)據(jù)下傳,則轉(zhuǎn)入U(xiǎn)SB中斷服務(wù)程序(下位機(jī)中斷服務(wù)程序流程如圖5所示),微處理器從USB緩沖區(qū)中讀取數(shù)據(jù),存入緩沖區(qū),并置標(biāo)志返回,接收數(shù)據(jù)是將數(shù)據(jù)從緩沖區(qū)讀出發(fā)送到USB總線(xiàn),通過(guò)USB總線(xiàn)傳送到上位機(jī)(下位機(jī)數(shù)據(jù)上傳子程序流程簡(jiǎn)圖如圖6所示),發(fā)送數(shù)據(jù)是將數(shù)據(jù)從緩沖區(qū)讀出寫(xiě)入SJA1000的緩沖區(qū),由CAN節(jié)點(diǎn)讀取,這種處理可以使微處理器在執(zhí)行完相應(yīng)的中斷程序后只需讀取緩沖區(qū),然后執(zhí)行相應(yīng)的接收或發(fā)送程序即可完成上位機(jī)和下位機(jī)的數(shù)據(jù)交換。對(duì)于計(jì)算機(jī)應(yīng)用層的程序,在計(jì)算機(jī)上裝載WINCHIPHEAD提供的CH372的通用驅(qū)動(dòng)程序后,不必再考慮USB通信協(xié)議、固件程序、驅(qū)動(dòng)程序、自動(dòng)配置過(guò)程和底層數(shù)據(jù)傳輸過(guò)程。只需要根據(jù)提供的動(dòng)態(tài)連接庫(kù)的接口函數(shù),用VB或VC編制自己的應(yīng)用程序即可。

結(jié)束語(yǔ)

綜上所述,本系統(tǒng)為計(jì)算機(jī)與CAN總線(xiàn)之間的直接通信提供了一種有效的方法,適應(yīng)網(wǎng)絡(luò)和接口技術(shù)的發(fā)展,探索現(xiàn)場(chǎng)總線(xiàn)網(wǎng)絡(luò)和計(jì)算機(jī)接口的新方法,是很有實(shí)踐意義的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉