摘要:介紹了一功率電感種基于DSP的CAN控制器和USB芯片的USB總線和CAN總線的通信模塊的設(shè)計(jì),提出了一種使用USB接口實(shí)現(xiàn)CAN總線網(wǎng)絡(luò)與計(jì)算機(jī)連接的方案。利用USB100芯片可在不了解任何USB協(xié)議的情況下,完成計(jì)算機(jī)RS 232串口升級(jí)為USB接口,同時(shí)CAN接口采用DSP片上CAN控制器,硬件設(shè)計(jì)極為簡單。在DSP的控制下,PC機(jī)與CAN節(jié)點(diǎn)可以雙向通信,通信波特率可高達(dá)1 Mb/s,傳輸數(shù)據(jù)穩(wěn)定,可靠。實(shí)驗(yàn)證明,運(yùn)用TMS320F2812片上eCAN模塊來構(gòu)成CAN總線通信系統(tǒng)更為簡單,實(shí)用。
關(guān)鍵詞:USB;CAN總線;eCAN;TMS320F2812
0 引言
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,全電子的計(jì)算機(jī)連鎖控制系統(tǒng)由上位機(jī),聯(lián)鎖機(jī)和智能執(zhí)行單元三層結(jié)構(gòu)組成。本文所介紹的模塊正是在此背景下為數(shù)據(jù)通信進(jìn)行服務(wù)的。CAN總線是目前為止唯一有國際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線,由于采用了許多新技術(shù)及獨(dú)特的設(shè)計(jì),與一般的通信總線相比,它的數(shù)據(jù)通信具有突出的可靠性,實(shí)時(shí)性和靈活性,其應(yīng)用范圍目前已不再局限于最初的汽車行業(yè),而擴(kuò)展到了機(jī)械工業(yè)包括數(shù)控機(jī)床,醫(yī)療器械,家用電器等領(lǐng)域。USB接口速度快、連線簡單和即插即用的特性是與上位機(jī)通訊非常好的外設(shè)接口。因此,基于USB接口實(shí)現(xiàn)CAN總線與PC機(jī)之間數(shù)據(jù)通信的研究具有一定的應(yīng)用意義。
1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)主要是由USB接口和CAN接口等模塊組成,其中微處理器TMS320F2812控制全局,實(shí)現(xiàn)通過USB接口將CAN總線數(shù)據(jù)傳送給PC機(jī),以及通過USB接口將PC機(jī)數(shù)據(jù)傳送給CAN節(jié)點(diǎn)的雙向通信功能。傳統(tǒng)的CAN總線通信模塊一般要用到獨(dú)立的CAN控制器芯片,本系統(tǒng)微處理器F2812片上帶有eCAN模塊,設(shè)計(jì)時(shí)較為方便,下面簡要介紹eCAN模塊。
eCAN模塊是TMS320F2812 DSP片上的增強(qiáng)型CAN控制器,其性能較之已有的DSP內(nèi)嵌CAN控制器有較大的提高,數(shù)據(jù)傳輸更加靈活方便,數(shù)據(jù)量更大、可靠性更高、功能更加完備。eCAN模塊它完全兼容CAN2.0B協(xié)議,可以在有干擾的環(huán)境里使用上述協(xié)議與其他控制器串行通信。除具有一般DSP內(nèi)嵌CAN控制器的所有功能外,與TMS320LF240x系列DSP的CAN模塊相比,它主要具有如下的一些增強(qiáng)特性:增加了郵箱數(shù)量,多達(dá)32個(gè);eCAN是一個(gè)32位的高級(jí)CAN控制器;具有時(shí)間標(biāo)識(shí);具有超時(shí)功能。
以上這些增強(qiáng)特性使得TMS320F2812進(jìn)行CAN通信時(shí),傳輸貼片電感更加方便靈活、數(shù)據(jù)量更大、功能更完備。圖1為系統(tǒng)結(jié)構(gòu)圖。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 USB模塊的硬件設(shè)計(jì)
本系統(tǒng)USB接口模塊采用USB100模塊作為主控芯片。USB100模塊是USB通用設(shè)備接口芯片,具有8位數(shù)據(jù)總線接口,內(nèi)部多達(dá)384 B的發(fā)送緩沖區(qū)和128 B的接收緩沖區(qū),數(shù)據(jù)通信速率最高可達(dá)8 Mb/s,USB100模塊讀寫數(shù)據(jù)分別由RD和WR2個(gè)引腳控制,相當(dāng)于有讀寫2個(gè)地址,因此將這兩個(gè)地址映射到F2812外設(shè)接口的區(qū)域xzcs01中,0x2000作為寫地址,0x4000作為讀地址,通過XA13,XA14,XZCS01,XWE,XRD5個(gè)管腳進(jìn)行譯碼,即可方便地控制USB模塊的數(shù)據(jù)收發(fā)。選用altera公司的CPLD芯片EPM7032作為譯碼器件,可以進(jìn)行在系統(tǒng)編程操作,其中上述5個(gè)管腳作為CPLD的輸入引腳,CPLD2個(gè)輸出引腳分別接至USB100模塊的RD和WR兩個(gè)引腳。由于USB100模塊是5 V供電,F(xiàn)2812是3.3 V供電,所以8位數(shù)據(jù)總線通過電平轉(zhuǎn)換器件741vc4245相連,數(shù)據(jù)方向由F2812的XR/W控制。根據(jù)USB100模塊時(shí)序圖,當(dāng)F2812檢測(cè)到USB100模塊TXE引腳為低時(shí),表示內(nèi)部發(fā)送緩沖區(qū)允許發(fā)送數(shù)據(jù)到USB端口,可以將數(shù)據(jù)通過八位總線發(fā)給USB100模塊;當(dāng)F2812檢測(cè)到USB100模塊RXF為低時(shí),表示內(nèi)部發(fā)送緩沖區(qū)有來自USB端口的數(shù)據(jù)。
2.2 eCAN模塊應(yīng)用設(shè)計(jì)
由于采用TMS電感器廠320F2812片上增強(qiáng)型控制器eCAN,所以CAN模塊硬件電路極為簡單,只需將F2812的RX和TX引腳經(jīng)過繞行電感器電平轉(zhuǎn)換器件連接至CAN收發(fā)器PCA82C250的TXD和RXD引腳,并以F2812作為CAN總線系統(tǒng)的微處理器,進(jìn)行實(shí)時(shí)數(shù)據(jù)收發(fā)。其硬件系統(tǒng)分為2層:第一層,CAN總線與F2812接口層;第二層,F(xiàn)2812與外圍器件的信息處理。CAN收發(fā)器采用低廉的PCA82C250,系統(tǒng)的擴(kuò)展性強(qiáng),至少可連接110個(gè)節(jié)點(diǎn),其引腳8(Rs)用于選擇工作模式,高速工作時(shí)上接一個(gè)斜率電阻,根據(jù)總線通信速度可適當(dāng)調(diào)整,一般在16~140 Kb/s之間。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 DSP程序設(shè)計(jì) 大功率電感廠家 |大電流電感工廠