亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于DSP的CAN—USB通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2014-03-21 12:23:25郭陽(yáng)寬祝連慶那云孟曉辰
        儀表技術(shù)與傳感器 2014年5期
        關(guān)鍵詞:程序設(shè)計(jì)

        張 君,郭陽(yáng)寬,祝連慶,那云,孟曉辰

        (北京信息科技大學(xué)儀器科學(xué)與光電工程學(xué)院,北京 100192)

        0 引言

        CAN總線(xiàn)具有傳輸距離遠(yuǎn)、傳輸速率高、抗干擾能力強(qiáng)、易于組網(wǎng)、成本低等優(yōu)點(diǎn)[1]。目前CAN總線(xiàn)與PC連接普遍采用RS232、RS485和ISA等傳統(tǒng)接口技術(shù),它們存在著傳輸速度慢、功耗高、安裝復(fù)雜等缺點(diǎn)。USB接口技術(shù)以其傳輸速度快、集成化程度高、支持熱插拔、即插即用、無(wú)需外接電源和連接簡(jiǎn)單等優(yōu)點(diǎn)得到了廣泛的應(yīng)用[2]。因此,使用USB作為CAN總線(xiàn)與PC連接的接口,將極大提高通信的速度和通信的可靠性。DSP具有成本低、功耗低、處理消息速度快等優(yōu)點(diǎn),在通信和工業(yè)產(chǎn)品中得到了廣泛的應(yīng)用。用DSP作為USB與CAN之間的微處理器,可以完成信息的實(shí)時(shí)讀取、處理和傳輸?shù)墓δ堋?/p>

        1 系統(tǒng)硬件設(shè)計(jì)

        1.1總體結(jié)構(gòu)

        如圖1所示,系統(tǒng)主要由USB總線(xiàn)接口、微處理器TMS320F2812和 CAN總線(xiàn)接口組成。

        圖1系統(tǒng)框圖

        其中USB總線(xiàn)接口負(fù)責(zé)PC和微處理器TMS320F2812之間消息的交換;CAN總線(xiàn)接口負(fù)責(zé)CAN節(jié)點(diǎn)與微處理器TMS320F2812之間消息的交換;微處理器TMS320F2812用于將USB總線(xiàn)接口和CAN總線(xiàn)接口連接起來(lái),實(shí)現(xiàn)對(duì)USB與CAN總線(xiàn)上消息的讀取,處理和傳輸?shù)墓δ堋?/p>

        1.2USB總線(xiàn)接口的硬件設(shè)計(jì)

        USB總線(xiàn)接口的硬件電路連接框圖如圖2所示,主要由USB接口芯片CY7C68013和微處理器TMS320F2812構(gòu)成。CY7C68013內(nèi)部集成了USB2.0收發(fā)器、SIE、增強(qiáng)的8051微控制器和可編程的外圍接口。工作在48MHz晶振下時(shí),指令執(zhí)行的速度遠(yuǎn)快于標(biāo)準(zhǔn)的8051單片機(jī)。設(shè)計(jì)采用CY7C68013的SLAVE FIFO模式,在此模式下,CY7C68013內(nèi)部CPU不參與消息的傳輸,而是由外部的微處理器直接控制CY7C68013 中FIFO消息的讀寫(xiě)。微處理器TMS320F2812作為控制核心,產(chǎn)生USB的片選信號(hào)、端點(diǎn)選擇和讀寫(xiě)信號(hào)控制CY7C68013進(jìn)行消息傳輸。

        圖2 硬件電路連接框圖

        在圖2中,CY7C68013經(jīng)過(guò)16位雙向數(shù)據(jù)總線(xiàn)FD連接至TMS320F2812,通過(guò)SLOE引腳控制輸出。FIFOADR[1:0]引腳用于選擇4個(gè)FIFO端點(diǎn)緩沖區(qū)中的一個(gè)與XD總線(xiàn)連接。SLRD和SLWR分別是FIFO的讀寫(xiě)選通信號(hào)。FLAGA-C用于表示CY7C68013芯片內(nèi)部數(shù)據(jù)緩沖區(qū)的狀態(tài),其直接與DSP的IO引腳相連。

        1.3CAN總線(xiàn)接口的硬件設(shè)計(jì)

        TMS320F2812芯片上集成了一個(gè)完整的增強(qiáng)型CAN控制器,即eCAN,其為CPU提供了完整的CAN2.0B協(xié)議,因此,設(shè)計(jì)電路時(shí)不必外接控制器就可以實(shí)現(xiàn)CAN總線(xiàn)的底層協(xié)議[3]。TMS320F2812內(nèi)部CAN控制器只有通過(guò)CAN收發(fā)器才能與外部進(jìn)行通信,因此采用外接PCA82C250作為CAN的收發(fā)器。PCA82C250是CAN協(xié)議控制器和物理總線(xiàn)間的接口,該器件對(duì)總線(xiàn)提供差動(dòng)發(fā)送能力,對(duì)CAN控制器提供差動(dòng)接收能力,負(fù)擔(dān)著節(jié)點(diǎn)邏輯電平和CAN總線(xiàn)差動(dòng)電平之間的電平轉(zhuǎn)換任務(wù)。PCA82C250可以增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線(xiàn),降低射頻干擾實(shí)現(xiàn)熱防護(hù)[4]。基于TMS320F2812的CAN總線(xiàn)接口硬件電路如圖3所示。

        圖3 CAN總線(xiàn)接口硬件電路圖

        在圖3中,引腳CANRX,CANTX分別是DSP內(nèi)部CAN控制器模塊的接收、發(fā)送引腳,其直接與PCA82C250的RXD和TXD引腳相連。CANH和CANL為差分輸出,2個(gè)引腳分別通過(guò)1個(gè)限流電阻與CAN總線(xiàn)相連,該限流電阻可以克服長(zhǎng)線(xiàn)效應(yīng),減小通信介質(zhì)中信號(hào)的反射。引腳RS用于工作模式的選擇。通過(guò)外接1個(gè)22 kΩ的斜率電阻,使系統(tǒng)工作在斜率模式下,該模式允許使用非屏蔽雙絞線(xiàn)或平行線(xiàn)作為總線(xiàn),可降低射頻干擾。

        2 系統(tǒng)軟件設(shè)計(jì)

        系統(tǒng)軟件設(shè)計(jì)主要包括CY7C68013固件程序的設(shè)計(jì)、CAN程序的設(shè)計(jì)以及應(yīng)用程序的設(shè)計(jì)。

        2.1固件程序設(shè)計(jì)

        固件程序是指存儲(chǔ)在USB接口芯片內(nèi)部,用于輔助設(shè)備完成預(yù)期功能的程序。該程序主要完成USB接口芯片內(nèi)部的初始化,處理主機(jī)的設(shè)備請(qǐng)求,以及完成外圍電路的控制等[5]。Cypress公司為CY7C68013的固件開(kāi)發(fā)提供了固件程序框架和相關(guān)的庫(kù)文件,為了實(shí)現(xiàn)特定的功能,只需要在TD_Init()、TD_Poll()等函數(shù)中配置需要使用的端點(diǎn),選擇合適的傳輸方式,添加實(shí)現(xiàn)功能的代碼等[6]。

        系統(tǒng)上電后,固件程序首先初始化內(nèi)部的狀態(tài)變量,然后調(diào)用初始化函數(shù)TD_Init(),當(dāng)程序從此函數(shù)返回后,固件程序就會(huì)設(shè)置USB接口成為未配置的狀態(tài)并且使能中斷,接下來(lái),在1 s的間隔內(nèi)重新列舉設(shè)備,并直到端點(diǎn)0接收到設(shè)置封包為止。一旦設(shè)置封包被檢測(cè)到,固件程序?qū)㈤_(kāi)始交互的任務(wù)調(diào)度[6]。為使系統(tǒng)能夠快速、可靠地傳輸消息,采用自動(dòng)批量傳輸。將端點(diǎn)2設(shè)置為OUT型,負(fù)責(zé)傳輸PC的消息;將端點(diǎn)6設(shè)置為IN型,負(fù)責(zé)接收CAN總線(xiàn)上的消息。以下是在Keil C51環(huán)境下編寫(xiě)的以C語(yǔ)言為基礎(chǔ)的固件程序的主要代碼。

        void TD_Init(void)

        {IFCONFIG |= 0xCB;//異步從FIFO模式,使用內(nèi)部的48MHz的時(shí)鐘頻率

        ……..

        //初始化端點(diǎn)2的輸出的程序段

        EP2CFG = 0xA2;

        EP2FIFOCFG=0x10;

        // 初始化端點(diǎn)6的輸入的程序段

        EP6CFG = 0xE2;

        EP6FIFOCFG=0x0C;

        ……..

        //FLAGA標(biāo)志端點(diǎn)2的空,F(xiàn)LAGB標(biāo)志端點(diǎn)6的滿(mǎn)

        PINFLAGSAB=0xE8;

        }

        2.2CAN程序設(shè)計(jì)

        系統(tǒng)CAN總線(xiàn)通信工作原理為:在程序初始化中,根據(jù)系統(tǒng)要求對(duì)CAN寄存器進(jìn)行初始化;DSP對(duì)CAN總線(xiàn)通信的管理包括發(fā)送信息和接收信息。 TMS320F2812中的eCAN模塊主要由CAN協(xié)議內(nèi)核和消息控制器構(gòu)成。CAN協(xié)議內(nèi)核主要完成消息解碼,并向接收緩沖發(fā)送解碼后的消息,同時(shí)根據(jù)CAN協(xié)議向總線(xiàn)發(fā)送消息,消息控制器決定接收到的消息的取舍[7]。對(duì)具體系統(tǒng)的總線(xiàn)通信軟件部分的設(shè)計(jì)包括應(yīng)用層協(xié)議制定和實(shí)施,明確各節(jié)點(diǎn)的功能以及相互交互的數(shù)據(jù),規(guī)定每位數(shù)據(jù)的確切含義以及要做的響應(yīng)處理[5]。因此,在軟件設(shè)計(jì)中,主要完成3部分程序的設(shè)計(jì):初始化程序、發(fā)送消息程序以及接收消息程序。

        2.2.1初始化程序設(shè)計(jì)

        CAN模塊初始化包括:時(shí)鐘使能,引腳定義,波特率設(shè)定等。首先,關(guān)閉看門(mén)狗,通過(guò)配置PLLCR、PCLKCR寄存器,對(duì)時(shí)鐘和頻率進(jìn)行設(shè)置;其次,配置DSP寄存器GPMFUX的位6和位7,使CANTX和CANRX引腳作為CAN的通信接口引腳;然后,配置與波特率相關(guān)的3個(gè)寄存器(SCSR1、BCR1和BCR2);最后,對(duì)中斷進(jìn)行設(shè)置,主要包括郵箱中斷屏蔽寄存器CANMIM以及郵箱中斷級(jí)別設(shè)置寄存器CANMIL的配置。只有當(dāng)CAN總線(xiàn)控制器進(jìn)入復(fù)位模式時(shí),才能進(jìn)行初始化,而當(dāng)初始化完成后,控制器的復(fù)位標(biāo)志必須清除。

        2.2.2發(fā)送消息和接收消息程序設(shè)計(jì)

        CAN總線(xiàn)采用“載波檢測(cè),多主掌控、沖突避免(CSMA/CA)”的通信模式,以報(bào)文為單位進(jìn)行消息傳輸[7]。發(fā)送消息的過(guò)程如圖4所示。發(fā)送消息時(shí),需要初始化發(fā)送郵箱,主要包括設(shè)置郵箱使能寄存器CANME,郵箱數(shù)據(jù)方向寄存器CANMD,通過(guò)寄存器MBOXn.MSGID(n=0-31)設(shè)置發(fā)送郵箱的ID,初始化后,向消息寄存器中寫(xiě)入要發(fā)送的消息,然后設(shè)置發(fā)送郵箱的TRS位為1,請(qǐng)求發(fā)送信息,等待傳輸響應(yīng)位TA=1,表示成功發(fā)送消息,最后清除發(fā)送響應(yīng)標(biāo)志位,等待下次發(fā)送信息。

        接收消息的過(guò)程如圖5所示。接收消息時(shí),同樣需要初始化相應(yīng)的接收郵箱,完成初始化后,如果接收郵箱的ID與CAN接口發(fā)送來(lái)的消息的ID匹配,并成功接收,則接收郵箱掛起寄存器RMP的相應(yīng)位被置1,當(dāng)CPU讀取完接收郵箱中的消息后,接收郵箱掛起寄存器的標(biāo)志位被清除,等待下一條消息的接收。

        圖4 發(fā)送消息流程圖

        圖5 接收消息流程圖

        2.3應(yīng)用程序設(shè)計(jì)

        系統(tǒng)中,TMS320F2812實(shí)現(xiàn)2個(gè)功能:實(shí)現(xiàn)USB與CAN之間雙向的消息傳輸;完成CAN控制器的初始化和輸出USB控制器所需要的信號(hào)。

        圖6為消息由USB發(fā)向CAN的軟件流程圖。DSP采用查詢(xún)方式接收USB傳來(lái)的消息,當(dāng)USB芯片端點(diǎn)2不為空時(shí),DSP就將該端點(diǎn)緩沖區(qū)的消息讀進(jìn)來(lái)進(jìn)行處理,否則一直等待。經(jīng)過(guò)處理后的消息放入到發(fā)送郵箱的緩沖區(qū)中,由CAN收發(fā)器發(fā)送給相應(yīng)的CAN節(jié)點(diǎn)。圖7為消息由CAN發(fā)向USB的軟件流程圖。DSP通過(guò)中斷方式接收CAN總線(xiàn)上的消息,當(dāng)中斷發(fā)生時(shí),DSP響應(yīng)中斷,把存儲(chǔ)在接收郵箱緩沖區(qū)中的消息讀取出來(lái),經(jīng)過(guò)處理后,發(fā)送給USB芯片端點(diǎn)6。當(dāng)USB芯片端點(diǎn)6不滿(mǎn)時(shí),DSP就將消息放入端點(diǎn)6的緩沖區(qū)中,從而傳送給上位機(jī),否則一直等待。

        圖6 USB至CAN流程圖

        圖7 CAN至USB流程圖

        3 通信測(cè)試

        系統(tǒng)測(cè)試如圖8所示。利用CAN調(diào)試器作為CAN總線(xiàn)接口的節(jié)點(diǎn),與PCA82C250實(shí)時(shí)通信。PC通過(guò)Cypress USB Console界面向CAN節(jié)點(diǎn)發(fā)送消息并接收來(lái)自該節(jié)點(diǎn)的消息。USB接口工作在高速模式下,負(fù)責(zé)PC與DSP之間消息的傳輸。CAN收發(fā)器負(fù)責(zé)DSP與CAN節(jié)點(diǎn)之間消息的傳輸。首先,在固件程序中設(shè)置端點(diǎn)2是輸出,端點(diǎn)6是輸入。DSP中設(shè)置0號(hào)郵箱是發(fā)送,16號(hào)郵箱是接收。其次,通過(guò)USB界面把固件程序下載到CY7C68013中,并選擇CAN調(diào)試器的傳輸速率為800 kbit/s.

        圖8系統(tǒng)測(cè)試方框圖

        圖9USB Console發(fā)送消息界面

        圖10CAN調(diào)試器接收消息界面

        圖11CAN調(diào)試器發(fā)送消息界面

        圖12USB Console接收消息界面

        4 結(jié)束語(yǔ)

        經(jīng)過(guò)多次測(cè)試,當(dāng)USB控制器工作在高速模式,CAN收發(fā)器工作在800 kbit/s的傳輸速率下,PC和CAN調(diào)試器均準(zhǔn)確的收到消息。系統(tǒng)將USB的快速傳輸消息的特點(diǎn)和CAN總線(xiàn)通信的高性能、高可靠性的優(yōu)點(diǎn)結(jié)合起來(lái),通過(guò)硬件電路的設(shè)計(jì)以及相關(guān)程序的編寫(xiě),實(shí)現(xiàn)消息快速、可靠的傳輸。

        參考文獻(xiàn):

        [1]饒運(yùn)濤,鄒繼軍,王進(jìn)宏,等.現(xiàn)場(chǎng)總線(xiàn)CAN 原理與應(yīng)用技術(shù).北京:北京航空航天大學(xué)出版社,2007.

        [2]劉吉名,裘東興.基于CY7C68013的USB2.0數(shù)據(jù)傳輸模塊設(shè)計(jì).電子測(cè)量技術(shù),2008(3):94-96.

        [3]李洪波.基于DSP的CAN總線(xiàn)節(jié)點(diǎn)的研究與通信實(shí)現(xiàn).哈爾濱理工大學(xué)學(xué)報(bào),2005,2(10):72-75.

        [4]佟俐,潘宏俠,胡田.基于TMS320F2812的CAN總線(xiàn)通信系統(tǒng).儀表技術(shù)與傳感器,2008(10):36-38.

        [5]黃艷芳,趙晶.基于CAN-USB總線(xiàn)的機(jī)車(chē)滾動(dòng)軸承檢測(cè)系統(tǒng)的設(shè)計(jì).電子測(cè)量技術(shù),2009,4(32):12-16.

        [6]孟浩.基于EZ-USB FX2的CMOS圖像采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).儀器儀表學(xué)報(bào),2007,4(28):333-334.

        [7]蔡昌新.eCAN接口的設(shè)計(jì)與實(shí)現(xiàn).長(zhǎng)江大學(xué)學(xué)報(bào)(自科科學(xué)版),2007,理工卷(2):93-95.

        猜你喜歡
        程序設(shè)計(jì)
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        試論我國(guó)未決羈押程序的立法完善
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專(zhuān)
        Coco薇(2017年5期)2017-06-05 08:53:16
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        創(chuàng)衛(wèi)暗訪(fǎng)程序有待改進(jìn)
        午夜国产在线| 精品久久久久久综合日本| 亚洲av无码久久精品色欲| av日韩高清一区二区| 欧美牲交videossexeso欧美| 69久久夜色精品国产69| 日本熟妇hd8ex视频| 白色白在线观看免费2| 在线观看国产激情视频| 极品尤物人妻堕落沉沦| 国精产品推荐视频| 久久精品人妻一区二区三区| 欧美日韩国产另类在线观看| 成人午夜视频在线观看高清| 成人在线观看视频免费播放| 华人在线视频精品在线| 一本大道熟女人妻中文字幕在线| 成 人 免费 黄 色 视频 | 日本一区二区三区一级片| 深夜放纵内射少妇| 亚洲av片一区二区三区| 欧美综合自拍亚洲综合图片区| 亚洲成人av一区二区三区| 白白色免费视频一区二区在线| 帅小伙自慰videogay男男| 免费a级毛片无码a| 91极品尤物在线观看播放| 日本乱码一区二区三区在线观看| 中文字幕乱码亚洲精品一区| 在线综合网| 一区二区三区人妻在线| 国产成人无码av一区二区在线观看 | 国产三级视频在线观看国产 | 亚洲av高清一区二区| 日本不卡在线视频二区三区| 小荡货奶真大水真多紧视频 | 无码人妻精品一区二区蜜桃网站| 中文字幕第一页亚洲| 一个人看的在线播放视频| 欧美日本精品一区二区三区| 国产欧美亚洲精品a|