国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

馮源

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

關鍵詞: DSP; CAN; CPLD; VHDL; 哈佛結構

中圖分類號: TN710?34; TP302.2 文獻標識碼: A 文章編號: 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ù)字信號處理器)是一種具有特殊結構的微處理器。其芯片內部采用程序和數(shù)據(jù)分開的哈佛結構,具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP指令,可以快速地實現(xiàn)各種數(shù)字信號處理算法。TMS320F2812是TI公司為滿足控制應用而設計的32位定點DSP處理器,它把一個高性能DSP內核和多種適合于控制的外設集成為一個芯片,運算速度可達150 MIPS,各項性能指標遠遠超過傳統(tǒng)的16位處理器。

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

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

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

1 SJA1000與F2812 DSP接口信號與時序分析

1.1 SJA1000接口的主要信號說明

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

圖1、圖 2 分別為INTEL模式讀、 寫周期時序。

1.2 SJA1000接口時序分析

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

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

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

1.3 TMS320F2812的XINTF接口的工作原理

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

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

在本文的設計中,設置XTIMCLK=XCLKOUT=[12]SYSCLKOUT=50 MHz,即1拍的訪問周期是20 ns,另外屏蔽XREADY信號的采樣。

1.4 TMS320F2812的XINTF接口時序分析

下面重點對TMS320F2812的XINTF接口時序進行分析,圖3和圖4分別是屏蔽XREADY信號的采樣時,TMS320F2812外部接口讀時序圖和寫時序圖。

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

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

2 硬件接口的設計與實現(xiàn)

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

3 接口邏輯設計

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

3.1 地址信號的轉換過程

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

3.2 讀操作的轉換過程

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

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

3.3 寫操作的轉換過程

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

根據(jù)圖2中SJA_ALE信號的結束時刻和剛剛確定的WR_DOE#的時序,確定SJA1000的寫信號SJA_WR#可以和WR_DOE#信號同時開始有效,而SJA_WR#信號必須比WR_DOE#信號提早1拍撤銷。

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

4 結 語

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

參考文獻

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

[2] 寧改娣,曾翔君.DSP控制器原理及應用[M].北京:科學出版社,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控制器接口的一種設計方法[J].現(xiàn)代電子技術,2007,30(9):56?58.

泸溪县| 镶黄旗| 乐业县| 孟津县| 宁远县| 常宁市| 泽州县| 沾益县| 冕宁县| 新余市| 和静县| 万盛区| 汪清县| 武冈市| 雷州市| 广汉市| 绥阳县| 陇西县| 苏尼特左旗| 德庆县| 清丰县| 吉安县| 句容市| 宿松县| 家居| 永仁县| 大埔县| 岢岚县| 彭阳县| 江口县| 东台市| 呈贡县| 宁安市| 门源| 邵武市| 和静县| 张北县| 郸城县| 吴川市| 龙游县| 甘南县|