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

        ?

        基于CPLD的DSP與CAN控制器的接口設(shè)計(jì)與實(shí)現(xiàn)

        2015-07-09 20:43:30馮源
        現(xiàn)代電子技術(shù) 2015年8期

        馮源

        摘 要: 目前DSP處理器和CAN總線都在控制領(lǐng)域得到了廣泛應(yīng)用,在此以TMS320F2812 DSP處理器和獨(dú)立的CAN控制器SJA1000為例,在分析DSP和SJA1000接口時(shí)序的基礎(chǔ)上,采用CPLD有效地實(shí)現(xiàn)了兩者之間數(shù)據(jù)和地址總線復(fù)用與非復(fù)用之間的轉(zhuǎn)換和時(shí)序匹配。同時(shí)希望對(duì)于其他微處理器與CAN控制器的接口電路設(shè)計(jì)可以提供一定的參考。

        關(guān)鍵詞: DSP; CAN; CPLD; VHDL; 哈佛結(jié)構(gòu)

        中圖分類(lèi)號(hào): TN710?34; TP302.2 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)08?0066?04

        Design and realization of interface between DSP and CAN bus controller based on CPLD

        FENG Yuan1, DOU Hai?li2, YAN Hai?ming1

        (1. China Aeronautics Computing Technique Research Institute, Xian 710119, China;

        2. College of Science, Air Force Engineering University, Xian 710051 China)

        Abstract: At present, digital signal processors (DSP) and CAN bus are applied widely to the control field. Taking the DSP TMS320F2812 and CAN controller SJA1000 as examples, the complex programmable logic device (CPLD) is used to realize the timing sequence matching effectively between data of DSP and SJA1000, and conversion of address multiplex bus and non?multiplex bus based on the analysis of the interface timing sequence of DSP and SJA1000. It is hoped that it can provide a reference for the design of interface circuit between other microprocessors and SJA1000 CAN controller.

        Keywords: DSP; CAN; CPLD; VHDL; Harvard architecture

        DSP(數(shù)字信號(hào)處理器)是一種具有特殊結(jié)構(gòu)的微處理器。其芯片內(nèi)部采用程序和數(shù)據(jù)分開(kāi)的哈佛結(jié)構(gòu),具有專(zhuān)門(mén)的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP指令,可以快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法。TMS320F2812是TI公司為滿足控制應(yīng)用而設(shè)計(jì)的32位定點(diǎn)DSP處理器,它把一個(gè)高性能DSP內(nèi)核和多種適合于控制的外設(shè)集成為一個(gè)芯片,運(yùn)算速度可達(dá)150 MIPS,各項(xiàng)性能指標(biāo)遠(yuǎn)遠(yuǎn)超過(guò)傳統(tǒng)的16位處理器。

        控制器局域網(wǎng)(Controller Area Network,CAN)是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。由于 CAN總線具有通信速率高、 開(kāi)放性好、 報(bào)文短、 糾錯(cuò)能力強(qiáng)以及控制簡(jiǎn)單、 擴(kuò)展能力強(qiáng)、 系統(tǒng)成本低等特點(diǎn),再加上有眾多的產(chǎn)品支持,已經(jīng)在工業(yè)控制、汽車(chē)電子控制系統(tǒng)、船舶運(yùn)輸和航空航天等方面均得到了成功的應(yīng)用,成為公認(rèn)的最具有前途的現(xiàn)場(chǎng)總線之一。

        CAN控制器實(shí)現(xiàn)了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層的幾乎所有功能,對(duì)外具有與主控制器和總線驅(qū)動(dòng)器的接口。目前的CAN控制器有兩種常見(jiàn)形式:一種是與某些微處理器集成在一起的內(nèi)嵌的CAN控制器;另一種是獨(dú)立的CAN控制器。采用集成了CAN控制器的微處理器實(shí)現(xiàn)CAN節(jié)點(diǎn),電路和邏輯設(shè)計(jì)簡(jiǎn)單,減少成本;然而軟、硬件設(shè)計(jì)過(guò)多地依賴(lài)于處理器的結(jié)構(gòu)和資源,可移植性和靈活性比較差,協(xié)議無(wú)法有效地?cái)U(kuò)展和改進(jìn),從而使得模塊的升級(jí)和維護(hù)成為一個(gè)重要問(wèn)題。使用獨(dú)立的CAN控制器的潛在優(yōu)勢(shì)是,系統(tǒng)開(kāi)發(fā)人員可以根據(jù)需要,靈活地選擇處理器來(lái)進(jìn)行系統(tǒng)設(shè)計(jì),而且軟硬件設(shè)計(jì)具有較強(qiáng)的通用性,升級(jí)和維護(hù)比較簡(jiǎn)單。

        目前應(yīng)用最多的獨(dú)立的CAN控制器是Philips公司的SJA1000芯片,它采用數(shù)據(jù)線和地址線復(fù)用的接口模式。而國(guó)內(nèi)使用的 DSP 芯片以 TI 公司的 TMS320 系列為主流,它們對(duì)外的數(shù)據(jù)和地址總線結(jié)構(gòu)形式是非多路復(fù)用方式。因此它們之間不能直接相連,需要數(shù)據(jù)和地址總線復(fù)用與非復(fù)用之間的轉(zhuǎn)換和接口時(shí)序的匹配設(shè)計(jì)。本文以TMS320F2812 DSP處理器為例,在分析DSP和SJA1000接口時(shí)序的基礎(chǔ)上,采用CPLD有效地實(shí)現(xiàn)了兩者之間數(shù)據(jù)和地址總線復(fù)用與非復(fù)用之間的轉(zhuǎn)換和時(shí)序匹配。

        1 SJA1000與F2812 DSP接口信號(hào)與時(shí)序分析

        1.1 SJA1000接口的主要信號(hào)說(shuō)明

        CAN 控制器 SJA1000 提供的微處理器接口方式為典型 INTEL 或 MOTOROLA 地址數(shù)據(jù)多路復(fù)用總線模式,主要信號(hào)有地址數(shù)據(jù)信號(hào) AD7~AD0 ,地址選通信號(hào)ALE,片選信號(hào)CS,讀信號(hào)RD,寫(xiě)信號(hào)WR,模式選擇信號(hào)MODE。當(dāng)MODE=時(shí),為INTEL模式;當(dāng) MODE=0時(shí),為MOTOROLA模式。后面描述的地址數(shù)據(jù)多路復(fù)用總線模式均為INTEL模式。

        圖1、圖 2 分別為INTEL模式讀、 寫(xiě)周期時(shí)序。

        1.2 SJA1000接口時(shí)序分析

        圖1中SJA1000 的讀時(shí)序,說(shuō)明在設(shè)計(jì)轉(zhuǎn)換橋時(shí),多路復(fù)用總線的各信號(hào)必須滿足的時(shí)間參數(shù)要求。ALE的脈沖寬度tw(AL)最小為8 ns ;地址信號(hào)(A7~A0)建立到ALE變?yōu)榈碗娖剿钑r(shí)間tsu(A?AL)最小為8 ns;RD的有效脈寬tw(R)最小為40 ns;RD為低電平到數(shù)據(jù)信號(hào)(D7~D0)有效所需時(shí)間tRLQV最大為50 ns;RD變?yōu)楦唠娖降降刂窋?shù)據(jù)線釋放(即高阻狀態(tài))所需時(shí)間(tRHDZ)最大為30 ns。

        圖2中SJA1000 的寫(xiě)時(shí)序,與讀時(shí)序相比,時(shí)間參數(shù)tw(AL)、tsu(A?AL)的要求是相同的,WR的有效脈寬tw(W)最小為20 ns;數(shù)據(jù)信號(hào)(D7~D0)有效時(shí)刻到WR撤銷(xiāo)為高電平所需時(shí)間tDVWH最小為8 ns;WR變?yōu)楦唠娖降降刂窋?shù)據(jù)線釋放(即高阻狀態(tài))所需時(shí)間(tWHDX)最小為8 ns。

        芯片的地址/數(shù)據(jù)復(fù)用引腳AD7~AD0,實(shí)際操作時(shí),地址和數(shù)據(jù)分時(shí)傳輸,地址在前,數(shù)據(jù)在后。在地址選通信號(hào)ALE 有效時(shí),傳送的是地址信號(hào);在RD或WR有效時(shí),傳輸?shù)氖菙?shù)據(jù)信號(hào)。片選信號(hào)CS與讀信號(hào)RD或?qū)懶盘?hào)WR同步,允許對(duì)SJA1000進(jìn)行讀/寫(xiě)操作。

        1.3 TMS320F2812的XINTF接口的工作原理

        TMS320F2812 DSP提供了一個(gè)可配置的存儲(chǔ)器擴(kuò)展接口(XINTF)來(lái)支持存儲(chǔ)器空間的擴(kuò)展,它是DSP與外部設(shè)備進(jìn)行通信的重要接口。這個(gè)接口通常用于擴(kuò)展SRAM、FLASH、ADC、DAC以及其他可以作為外部存儲(chǔ)器的方式來(lái)訪問(wèn)的外設(shè)。對(duì)于DSP來(lái)說(shuō),SJA1000是一個(gè)以存儲(chǔ)器編址的I/O器件,對(duì)它的內(nèi)部寄存器的操作就像對(duì)RAM操作一樣,并且其內(nèi)部的地址空間0~127。在本文的設(shè)計(jì)中,將CAN控制器擴(kuò)展到DSP的外部存儲(chǔ)器空間Zone0(0x2000~0x4000)。TMS320F2812 DSP的XINTF接口被映射到5個(gè)固定的存儲(chǔ)空間區(qū)域,可以通過(guò)軟件操作配置寄存器對(duì)其中的每個(gè)區(qū)域的讀/寫(xiě)操作的時(shí)序進(jìn)行獨(dú)立的設(shè)置,來(lái)實(shí)現(xiàn)對(duì)這些存儲(chǔ)器或外設(shè)的正確接口。

        對(duì)XINTF中所有區(qū)域的訪問(wèn)都是以XINTF的定時(shí)時(shí)鐘XTIMCLK為基礎(chǔ)的,對(duì)外訪問(wèn)的時(shí)序都是從外部時(shí)鐘輸出XCLKOUT的上升沿開(kāi)始的。XTIMCLK的大小可以通過(guò)軟件設(shè)置為系統(tǒng)時(shí)鐘SYSCLKOUT或是系統(tǒng)時(shí)鐘的一半。XINTF對(duì)外訪問(wèn)時(shí)序分為三個(gè)階段,即引導(dǎo)(Lead)、激活(Active)和跟蹤(Trail)。另外可以通過(guò)采樣由外設(shè)所提供的XREADY信號(hào)來(lái)在激活階段添加1個(gè)或多個(gè)XTIMCLK周期的額外延時(shí)。

        在本文的設(shè)計(jì)中,設(shè)置XTIMCLK=XCLKOUT=[12]SYSCLKOUT=50 MHz,即1拍的訪問(wèn)周期是20 ns,另外屏蔽XREADY信號(hào)的采樣。

        1.4 TMS320F2812的XINTF接口時(shí)序分析

        下面重點(diǎn)對(duì)TMS320F2812的XINTF接口時(shí)序進(jìn)行分析,圖3和圖4分別是屏蔽XREADY信號(hào)的采樣時(shí),TMS320F2812外部接口讀時(shí)序圖和寫(xiě)時(shí)序圖。

        首先需要參考SJA1000的時(shí)序圖,確定以上時(shí)序圖中引導(dǎo)(Lead)和激活(Active)、跟蹤(Trail)三個(gè)階段的時(shí)間參數(shù)。由圖3和圖4可知,對(duì)Zone0區(qū)域的實(shí)際操作是從該區(qū)域的片選信號(hào)XZCS0AND1有效作為起始基準(zhǔn)時(shí)刻,另外對(duì)Zone0區(qū)域的訪問(wèn)時(shí)序都是從外部時(shí)鐘輸出XCLKOUT的上升沿開(kāi)始的。為了使得譯碼邏輯簡(jiǎn)單,采樣時(shí)序的可靠穩(wěn)定,選定XCLKOUT的上升沿作為SJA1000時(shí)序譯碼的計(jì)數(shù)脈沖。

        引導(dǎo)階段片選有效,地址總線上有效地址穩(wěn)定;激活階段讀/寫(xiě)信號(hào)穩(wěn)定,數(shù)據(jù)穩(wěn)定出現(xiàn)在數(shù)據(jù)總線上;跟蹤階段片選依然有效,但是讀/寫(xiě)信號(hào)無(wú)效,從而結(jié)束讀時(shí)序或完成寫(xiě)時(shí)序中總線上的數(shù)據(jù)到外部存儲(chǔ)器的鎖存。由圖1和圖2可知,引導(dǎo)階段至少設(shè)置3個(gè)XCLKOUT,激活階段至少設(shè)置4個(gè)XCLKOUT,跟蹤階段至少設(shè)置2個(gè)XCLKOUT。為了使得有效信號(hào)的譯碼時(shí)序盡量的寬松,在這里選定引導(dǎo)階段4個(gè)XCLKOUT,激活階段6個(gè)XCLKOUT,跟蹤階段4個(gè)XCLKOUT。

        2 硬件接口的設(shè)計(jì)與實(shí)現(xiàn)

        本文采用 Lattice公司在系統(tǒng)可編程器件 ISPLSI1032E,用硬件描述語(yǔ)言VHDL來(lái)描述邏輯,實(shí)現(xiàn)了系統(tǒng)編程調(diào)試,將硬件系統(tǒng)“軟件化”, 其優(yōu)點(diǎn)主要在于它有很強(qiáng)的靈活性,即其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,對(duì)電路的修改簡(jiǎn)單易行,可以很方便地實(shí)現(xiàn)復(fù)雜的邏輯電路,同時(shí)使得布線更簡(jiǎn)單合理,系統(tǒng)工作可靠性更高。TMS320F2812 DSP處理器與 CAN控制器 SJA1000的硬件接口原理圖如圖 5所示。因?yàn)樵揇SP的I/O信號(hào)的電壓是3.3 V,而ISPLSI1032E和SJA1000的信號(hào)是5 V,所以DSP的數(shù)據(jù)總線ED、地址總線EA、讀/寫(xiě)等控制信號(hào),都事先需要經(jīng)過(guò)IDT74FCT164245進(jìn)行電平轉(zhuǎn)換和雙向緩沖,以保證信號(hào)傳輸?shù)目煽啃?。由于篇幅有限,在圖中省略了這部分電路的描述。在該電路設(shè)計(jì)中,采用1片三態(tài)緩沖驅(qū)動(dòng)芯片IDT74FCT162245,通過(guò)由ISPLSI1032E生成:IDT74FCT162245的控制信號(hào)DOE#、AOE#、DDIR、ADIR;SJA1000的讀/寫(xiě)控制信號(hào)SJA_ALE、SJA_CS#、SJA_RD#、SJA_WR#、SJA_RST#等。

        3 接口邏輯設(shè)計(jì)

        將SJA1000的地址范圍確定為Zone0區(qū)域中的0x2000~0x20FF,根據(jù)以上的分析,由Zone0區(qū)域的片選信號(hào)XZCS0AND1和DSP的高地址EA15~EA8譯碼得到信號(hào)CAN_CS#,并且以該信號(hào)開(kāi)始有效的時(shí)刻作為讀、寫(xiě)時(shí)序轉(zhuǎn)換的起始基準(zhǔn)時(shí)刻。另外,整個(gè)譯碼以DSP的外部時(shí)鐘輸出XCLKOUT為節(jié)拍,并對(duì)其上升沿進(jìn)行脈沖計(jì)數(shù)。圖5中的接口控制信號(hào)的譯碼邏輯時(shí)序圖如圖6所示。

        3.1 地址信號(hào)的轉(zhuǎn)換過(guò)程

        由圖1和圖2可知,SJA1000的讀操作和寫(xiě)操作過(guò)程中的地址信號(hào)A7~A0和地址鎖存信號(hào)ALE的時(shí)序是完全一致的。以已經(jīng)確定的CAN_CS#的信號(hào)的開(kāi)始有效的時(shí)刻為起始基準(zhǔn)時(shí)刻,確定SJA1000的地址使能控制信號(hào)AOE#在CAN_CS#有效后第1個(gè)上升沿處開(kāi)始有效,在Lead階段結(jié)束時(shí)刻撤銷(xiāo)。SJA1000的地址鎖存信號(hào)SJA_ALE可以和AOE#信號(hào)同時(shí)開(kāi)始有效,但是必須比AOE#信號(hào)提前1拍結(jié)束,以保證在SJA_ALE的下降沿采樣到穩(wěn)定的地址信號(hào)進(jìn)行地址鎖存。

        3.2 讀操作的轉(zhuǎn)換過(guò)程

        在TMS320F2812 DSP對(duì)CAN控制器SJA1000進(jìn)行讀操作時(shí),數(shù)據(jù)流是由SJA1000流向DSP。SJA1000是數(shù)據(jù)流源端,DSP是數(shù)據(jù)流的目的端,并且目的端(DSP)的讀時(shí)序是確定的。進(jìn)一步分析圖3可知,DSP的讀信號(hào)XRD#和XD[0:15]上有效數(shù)據(jù)DIN的時(shí)序是已知的。首先根據(jù)SJA_ALE信號(hào)的結(jié)束時(shí)刻和DSP的讀信號(hào)XRD#開(kāi)始有效的時(shí)刻,確定SJA1000的讀信號(hào)SJA_RD#是從XRD#有效后1個(gè)XCLKOUT時(shí)間后開(kāi)始有效。

        為了保證DSP從SJA1000所獲得的數(shù)據(jù)是穩(wěn)定可靠的,由圖1的分析可以確定對(duì)SJA1000進(jìn)行讀操作時(shí)的數(shù)據(jù)使能信號(hào)RD_DOE#必須在SJA_RD#有效后大于50 ns以后才開(kāi)始有效。這里,讓RD_DOE#信號(hào)在SJA_RD#保持有效狀態(tài)(低電平)3拍(60 ns)后開(kāi)始有效。在DSP讀操作的過(guò)程中,SJA1000給DSP提供的數(shù)據(jù)必須要“包住”DSP讀時(shí)序中的有效數(shù)據(jù)DIN,所以RD_DOE#的有效狀態(tài)在Trail階段的第2拍結(jié)束后撤銷(xiāo)。然后,只需讓SJA1000的讀信號(hào)SJA_RD#與RD_DOE#信號(hào)同時(shí)撤銷(xiāo)即可。

        3.3 寫(xiě)操作的轉(zhuǎn)換過(guò)程

        在TMS320F2812 DSP對(duì)CAN控制器SJA1000進(jìn)行寫(xiě)操作時(shí),數(shù)據(jù)流是由DSP流向SJA1000。DSP是數(shù)據(jù)流源端,SJA1000是數(shù)據(jù)流的目的端,并且源端(DSP)的寫(xiě)時(shí)序是確定的。進(jìn)一步分析圖4可知,DSP的寫(xiě)信號(hào)XWE#和XD[0:15]上的有效數(shù)據(jù)DOUT的時(shí)序是已知的。首先根據(jù)XD[0:15]上的有效數(shù)據(jù)DOUT開(kāi)始有效的時(shí)刻,確定對(duì)SJA1000進(jìn)行寫(xiě)操作時(shí)的數(shù)據(jù)使能信號(hào)WR_DOE#從Active階段的第3拍開(kāi)始時(shí)有效;然后根據(jù)DSP的寫(xiě)信號(hào)XWE#的撤銷(xiāo)時(shí)刻,確定WR_DOE#信號(hào)在Active階段結(jié)束后立刻撤銷(xiāo)。

        根據(jù)圖2中SJA_ALE信號(hào)的結(jié)束時(shí)刻和剛剛確定的WR_DOE#的時(shí)序,確定SJA1000的寫(xiě)信號(hào)SJA_WR#可以和WR_DOE#信號(hào)同時(shí)開(kāi)始有效,而SJA_WR#信號(hào)必須比WR_DOE#信號(hào)提早1拍撤銷(xiāo)。

        在確定了SJA1000的讀信號(hào)SJA_RD#和寫(xiě)信號(hào)SJA_WR#后,由圖1和圖2可知,SJA1000的片選信號(hào)SJA_CS#在已經(jīng)確定的中間信號(hào)CAN_CS#的基礎(chǔ)上,SJA_CS#信號(hào)必須“包住”SJA_RD#和SJA_WR#即可。

        4 結(jié) 語(yǔ)

        本文詳細(xì)分析了TMS320F2812 DSP處理器和 CAN控制器 SJA1000的接口信號(hào)和訪問(wèn)時(shí)序,提供一種基于復(fù)雜可編程邏輯器件 CPLD來(lái)解決兩者之間的接口邏輯的匹配問(wèn)題的方法,設(shè)計(jì)了DSP處理器和 CAN控制器之間的接口電路,給出了邏輯譯碼時(shí)序圖,并詳細(xì)分析了時(shí)序轉(zhuǎn)換的整個(gè)過(guò)程。實(shí)踐表明,該設(shè)計(jì)穩(wěn)定可靠,同時(shí)對(duì)于其他系列 DSP處理器與SJA1000之間的接口邏輯的轉(zhuǎn)換也具有很強(qiáng)的借鑒意義。

        參考文獻(xiàn)

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

        [2] 寧改娣,曾翔君.DSP控制器原理及應(yīng)用[M].北京:科學(xué)出版社,2009.

        [3] PHILIPS Semiconductors. SJA1000 stand?alone CAN controller [M]. [S.l.]: PHILIPS Semiconductors, 1999.

        [4] Texas Instruments. TMS320F2812 digital signal processors data manual [M]. USA: Texas Instruments, 2007.

        [5] Texas Instruments. TMS320F28xx and TMS320F28xxx DSCs hardware designing guide (ZHCA065) [R]. USA: Texas Instruments, 2008.

        [6] Philips Semiconductors. SJA1000 stand?alone CAN controller application note (AN97076) [R]. [S.l.]: Philips Semiconductors,1997.

        [7] 李俊萍,王靜平.基于CPLD的DSP微處理器與CAN控制器接口的一種設(shè)計(jì)方法[J].現(xiàn)代電子技術(shù),2007,30(9):56?58.

        日本激情网址| 亚洲乱码日产精品一二三| 国产涩涩视频在线观看| 91精品国产91久久久无码95| 国产肥熟女视频一区二区三区| av手机在线观看不卡| 一本久道综合在线无码人妻| 男女男在线精品网站免费观看| 少妇被粗大猛进进出出| 熟女人妻在线中文字幕| 特黄做受又硬又粗又大视频小说| 亚洲另类激情综合偷自拍图 | 亚洲男人天堂av在线| 国产黄片一区二区三区| 国产亚洲综合一区二区三区| 亚洲 暴爽 av人人爽日日碰| 国产成人永久在线播放| 区一区二区三免费观看视频 | 精品无码久久久久久国产| 亚洲人成人网毛片在线播放| 国产一区二区精品久久呦| 亚洲av网一区二区三区| 亚洲男人的天堂在线aⅴ视频| 欧美精品aaa久久久影院| 女主播国产专区在线观看| 国产太嫩了在线观看| 日本大片免费观看完整视频 | 亚洲综合色秘密影院秘密影院| 国产精品日本一区二区三区| 四虎永久在线精品免费网址| 国产精品jizz视频| 国产强伦姧在线观看| 亚洲一区第二区三区四区| 欧美成人片在线观看| 久久频精品99香蕉国产| 亚洲乱熟妇一区二区三区蜜桃| 777精品出轨人妻国产| 亚洲人成网站77777在线观看 | 18禁成人黄网站免费观看| 91久久青青草原线免费| 蜜桃av噜噜一区二区三区免费|