關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > FlexRay總線(xiàn)控制器和TC1796MLI接口設(shè)計(jì)

FlexRay總線(xiàn)控制器和TC1796MLI接口設(shè)計(jì)

作者: 時(shí)間:2016-12-22 來(lái)源:網(wǎng)絡(luò) 收藏

  摘要研究了FlexRay總線(xiàn)控制器CIC310和微處理器TC1796的微連接口(MLI)的數(shù)據(jù)傳輸原理和總線(xiàn)協(xié)議,使用TC1796和CIC310實(shí)現(xiàn)MLI接口的高速數(shù)據(jù)傳輸,并介紹了一個(gè)主控制器連接多個(gè)MLI模塊的軟件和硬件實(shí)現(xiàn)方法。整個(gè)系統(tǒng)集成度高,適合車(chē)載電子設(shè)備的大量數(shù)據(jù)傳輸。

  關(guān)鍵詞 TC1796 MLI接口 CIC310 FlexRay總線(xiàn)

  引言

  FlexRay總線(xiàn)是一種點(diǎn)對(duì)點(diǎn)形式的具有星形拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)傳輸總線(xiàn)。提供了傳統(tǒng)總線(xiàn)通信協(xié)議所不具有的一些特性。FlexRay簡(jiǎn)化了車(chē)載電子設(shè)備之間的通信系統(tǒng)架構(gòu),使得車(chē)載電子單元變得更加穩(wěn)定和可靠。FlexRay總線(xiàn)具有故障容限,可提供500 kbps~10 Mbps的確定數(shù)據(jù)傳輸速率和24位CRC(循環(huán)冗余)校驗(yàn)碼。

  FlexRay總線(xiàn)支持2×10 Mbps的數(shù)據(jù)速率,與CAN總線(xiàn)協(xié)議相比,可用的帶寬提高了10~40倍??偩€(xiàn)速率的提高使電子設(shè)備可以快速?gòu)目偩€(xiàn)獲取信息,也可以快速將自身信息傳送到總線(xiàn)上的其他設(shè)備。微處理器和FlexRay總線(xiàn)控制器的數(shù)據(jù)通信一般采用串行方式、并行方式以及其他方式。并行接口方式是早期采用的高速數(shù)據(jù)傳輸方式,但以更高速率傳輸時(shí)則存在多種問(wèn)題。由于數(shù)據(jù)和地址總線(xiàn)較多,使得接口復(fù)雜,PCB布線(xiàn)難度增大,在高速時(shí)鐘下每根數(shù)據(jù)線(xiàn)和地址線(xiàn)都要求盡量等長(zhǎng),否則可能產(chǎn)生數(shù)據(jù)和地址傳輸時(shí)相應(yīng)位的紊亂,無(wú)法正確傳輸數(shù)據(jù)。串行方式硬件連接方便,內(nèi)部最少只需數(shù)據(jù)收和數(shù)據(jù)發(fā)2根線(xiàn),但傳輸速率較慢。

  本文介紹一種微連接口MLI(MicroLink Interface)實(shí)現(xiàn)總線(xiàn)傳輸,使用FlexRay總線(xiàn)控制器CIC310及處理器TC1796。CIC310采集總線(xiàn)上各個(gè)節(jié)點(diǎn)的通信數(shù)據(jù),并對(duì)總線(xiàn)負(fù)載和總線(xiàn)容量進(jìn)行檢測(cè)和控制。TC1796將各個(gè)節(jié)點(diǎn)數(shù)據(jù)進(jìn)行處理,他們之間采用微連接口MLI,實(shí)現(xiàn)高速數(shù)據(jù)傳輸,最快數(shù)據(jù)傳輸速率達(dá)到37.5 Mbps,完全滿(mǎn)足2×10 Mbps的總線(xiàn)數(shù)據(jù)速率。

  1 FlexRay控制器CIC310

  CIC310是英飛凌公司最近推出的FlexRay總線(xiàn)控制器,其內(nèi)部結(jié)構(gòu)如圖1所示。從圖中可以看出,CIC310總線(xiàn)控制器主要由ERay模塊、DMA模塊、時(shí)鐘管理模塊、中斷模塊、內(nèi)存和數(shù)據(jù)處理以及數(shù)據(jù)接口模塊等組成。

  

  

  圖1 CIC310內(nèi)部功能框圖

  CIC310有3種接口方式將數(shù)據(jù)傳輸?shù)教幚砥?,這3種方式分別為SSC(Synchronous Serial Channel,串行接口)方式、XMU(Demultiplexer 8/16 bit Parallel Interface,非復(fù)用的8/16位并行接口)方式和MLI方式。其中SSC為一般的串口連接方式,具有連接簡(jiǎn)單和連接線(xiàn)少的特點(diǎn),但數(shù)據(jù)傳輸速率較低;XMU接口為并口連接方式,數(shù)據(jù)傳輸速度比串口方式快很多,但連接線(xiàn)較多;MLI接口為專(zhuān)用接口方式,一般可以和專(zhuān)用車(chē)載控制器連接。英飛凌的TC1796具有和CIC310連接的MLI接口。

  CIC310和總線(xiàn)接口有2個(gè)獨(dú)立的收發(fā)通道,每個(gè)通道的數(shù)據(jù)傳輸速度可達(dá)10 Mbps,片內(nèi)ERay模塊主要負(fù)責(zé)總線(xiàn)數(shù)據(jù)的收發(fā)、總線(xiàn)和DMA模塊的數(shù)據(jù)交互、向外設(shè)產(chǎn)生各種中斷以及實(shí)現(xiàn)數(shù)據(jù)讀寫(xiě)時(shí)鐘的管理等。ERay模塊一般經(jīng)過(guò)數(shù)據(jù)濾波器,將一些廣播幀和總線(xiàn)上其他用戶(hù)的數(shù)據(jù)幀濾除后,將本用戶(hù)的數(shù)據(jù)幀傳輸?shù)紺IC310片內(nèi)的DMA模塊。DMA模塊進(jìn)行數(shù)據(jù)處理和數(shù)據(jù)校驗(yàn),可以采用事先設(shè)定的數(shù)據(jù)系數(shù)進(jìn)行處理。

  2 微處理器TC1796

  TC1796是基于英飛凌公司TriCore處理器架構(gòu)的32位微控制器,在一塊芯片中集成了微控制器、微處理器和數(shù)字信號(hào)處理器。具有2 MB的嵌入式Flash和多種創(chuàng)新的片上外設(shè),如毫秒總線(xiàn)、快速模數(shù)轉(zhuǎn)換器、微連接口以及新穎的高性能三總線(xiàn)結(jié)構(gòu),提升了系統(tǒng)總體性能,同時(shí)降低了系統(tǒng)成本。其主要特點(diǎn)有:

  ◆ 具有4級(jí)流水及并行架構(gòu)的高性能32位CPU,完全集成DSP處理能力,具有單精度浮點(diǎn)運(yùn)算單元,工作頻率達(dá)150 MHz;

  ◆ 具有32位外設(shè)控制處理器,2 MB嵌入式程序Flash、128 KB數(shù)據(jù)Flash、16 KB仿真EEPROM、192 KB片上SRAM;

  ◆ 具有16通道DMA控制器,支持同步burst Flash訪(fǎng)問(wèn)的32位外部總線(xiàn)接口單元,支持2×255個(gè)硬件中斷源;

  ◆ 具有2個(gè)毫秒總線(xiàn)接口、2個(gè)通用定時(shí)器陣列模塊、2個(gè)異步/同步串行通道、2個(gè)高速同步串行通道、2個(gè)高速微連接口、4個(gè)CAN節(jié)點(diǎn)、4通道快速模數(shù)轉(zhuǎn)換器、2個(gè)具有8/10/12位精度的16通道模數(shù)轉(zhuǎn)換器。

  

  

  圖2 TC1796內(nèi)部結(jié)構(gòu)圖

  TC1796的內(nèi)部結(jié)構(gòu)如圖2所示。內(nèi)部主要由PMU(Program Memory Unit,程序存儲(chǔ)單元)、DMU(Data Memory Unit,數(shù)據(jù)存儲(chǔ)單元)、FPU(Floating Point Unit,浮點(diǎn)單元)、PMI(Program Memory Interface,程序存儲(chǔ)接口)、DMI(Data Memory Interface,數(shù)據(jù)存儲(chǔ)接口)、PCP(Peripheral Control Processor,片內(nèi)外設(shè)控制處理器)、STM(System Timer,系統(tǒng)定時(shí)陣列)和PLL(Phase Locked Loop,鎖相環(huán))等組成。外部接口包括ADC、FADC(快速ADC)、串口、JTAG(仿真口)、GPIO(通用I/O口)、ASC(異步串口)、CAN、MSC(Micro Second Channel,毫秒口)、MLI口等。

  3 MLI接口

  MLI接口是一種快速同步串行接口,可以在CPU不參與的情況下進(jìn)行數(shù)據(jù)傳輸。圖3是MLI接口的典型連接框圖。

  

  

  圖3 MLI連接框圖

  圖3中,具有MLI接口的處理器稱(chēng)為本地控制器,另一個(gè)則為遠(yuǎn)程控制器。雙方都具有發(fā)送器和接收器。發(fā)送器和接收器之間進(jìn)行物理連接。本地控制器初始化數(shù)據(jù)和交互參數(shù),并負(fù)責(zé)控制所有的數(shù)據(jù)收發(fā)任務(wù)。每一次數(shù)據(jù)收發(fā)都必須由本地控制器發(fā)起,遠(yuǎn)程控制器只是被動(dòng)地響應(yīng)本地控制器的命令,讀取或者發(fā)送數(shù)據(jù)。如果有3個(gè)以上的MLI接口進(jìn)行連接,則只能有1個(gè)本地控制器,其他均設(shè)置成遠(yuǎn)程控制器。本地控制器具有1個(gè)發(fā)送窗口,所有的發(fā)送數(shù)據(jù)均通過(guò)發(fā)送窗口寫(xiě)入發(fā)送器并發(fā)送出去。本地控制器接收到數(shù)據(jù)后通過(guò)中斷方式通知CPU或者DMA進(jìn)行讀取數(shù)據(jù)。遠(yuǎn)程控制器具有1個(gè)遠(yuǎn)程窗口,沒(méi)有發(fā)送窗口;但遠(yuǎn)程控制器不能控制遠(yuǎn)程窗口,遠(yuǎn)程窗口和發(fā)送窗口一樣,都是由本地控制器操作。實(shí)際上,遠(yuǎn)程控制器相當(dāng)于一個(gè)完全被動(dòng)的設(shè)備。遠(yuǎn)程控制器收到數(shù)據(jù)將自動(dòng)或者手動(dòng)放到遠(yuǎn)程窗口中,由遠(yuǎn)程控制器的CPU或者DMA從相應(yīng)地址讀取。當(dāng)遠(yuǎn)程控制器的CPU或者DMA需要發(fā)送數(shù)據(jù)時(shí),本地控制器控制遠(yuǎn)程窗口讀取相應(yīng)地址的數(shù)據(jù),并從發(fā)送器發(fā)送到本地控制器的接收器。

  4 TC1796和CIC310的MLI接口連接

  TC1796最多可以和4個(gè)CIC310的MLI接口連接,這樣1個(gè)處理器就可以連接4個(gè)總線(xiàn)控制器,從而控制8個(gè)總線(xiàn)節(jié)點(diǎn)并進(jìn)行數(shù)據(jù)通信(每個(gè)CIC310控制2個(gè)總線(xiàn)節(jié)點(diǎn)),節(jié)省處理器成本。圖4為T(mén)C1796和2個(gè)CIC310的MLI接口連接。TC1796必須作為本地控制器,2個(gè)CIC310均為遠(yuǎn)程控制器。

  

  

  圖4 TC1796與2片CIC310連接

  TC1796向CIC310發(fā)送數(shù)據(jù)的連接說(shuō)明如下:MLI的接收器具有4個(gè)引腳,分別為RREADYA(接收數(shù)據(jù)準(zhǔn)備好標(biāo)志)、RVALIDA(接收數(shù)據(jù)有效標(biāo)志)、RDATAA(接收數(shù)據(jù))、RCLKA(接收時(shí)鐘);對(duì)應(yīng)的發(fā)送器也具有TREADYA(發(fā)送數(shù)據(jù)準(zhǔn)備好標(biāo)志)、TVALIDA(發(fā)送數(shù)據(jù)有效標(biāo)志)、TDATAA(發(fā)送數(shù)據(jù))、TCLK(發(fā)送時(shí)鐘)。其中TDATA和TCLK引腳由TC1796輸出,連接到每個(gè)CIC310的RDATAA和RCLKA引腳,這樣每個(gè)CIC310都采用同一個(gè)時(shí)鐘和數(shù)據(jù)信號(hào)。TC1796的4個(gè)MLI接口具有4個(gè)發(fā)送數(shù)據(jù)準(zhǔn)備好標(biāo)志和發(fā)送數(shù)據(jù)有效標(biāo)志,分別為T(mén)READYA~TREADYD、TVALIDA~TVALIDD。將每個(gè)MLI的一對(duì)這樣的引腳連接到1個(gè)CIC310上,就完成對(duì)不同CIC310的選擇,從而區(qū)分出對(duì)哪個(gè)CIC310發(fā)送數(shù)據(jù)。從硬件連接可以看出,TC1796雖然可以和多個(gè)CIC310連接,但同時(shí)只能對(duì)1個(gè)CIC310發(fā)送數(shù)據(jù)。

  TC1796接收CIC310的數(shù)據(jù)連接說(shuō)明如下:TC1796的MLI接收器每個(gè)接口都具有獨(dú)立的4個(gè)引腳,RREADYA~RREADYD、RVALIDA~RVALIDD、RDATAA~RDATAD、RCLKA~RCLKAD,這樣每個(gè)接口正好和CIC310的發(fā)送器的4個(gè)引腳連接,可以同時(shí)接收4個(gè)CIC310的數(shù)據(jù)。在TC1796內(nèi)部,將每個(gè)CIC310連接到不同的DMA中斷上,使用DMA進(jìn)行數(shù)據(jù)讀取。

  TC1796與多個(gè)CIC310進(jìn)行連接,采用下行單向通信(TC1796向CIC310發(fā)送數(shù)據(jù))、上行并行通信(CIC310向TC1796發(fā)送數(shù)據(jù))的目的是減少總線(xiàn)負(fù)載。當(dāng)總線(xiàn)節(jié)點(diǎn)有數(shù)據(jù)向處理器發(fā)送時(shí),處理器總是及時(shí)讀取數(shù)據(jù),避免總線(xiàn)重發(fā)數(shù)據(jù),同時(shí)避免CIC310無(wú)法存儲(chǔ)突發(fā)的大量數(shù)據(jù)幀。當(dāng)處理器需要向總線(xiàn)發(fā)送數(shù)據(jù)時(shí),即使處理器需要同時(shí)向多個(gè)總線(xiàn)節(jié)點(diǎn)發(fā)送數(shù)據(jù),依然采用單個(gè)節(jié)點(diǎn)輪流發(fā)送數(shù)據(jù)的方式,避免處理器同時(shí)將大量數(shù)據(jù)發(fā)送到總線(xiàn),增加總線(xiàn)負(fù)載。一旦總線(xiàn)負(fù)載增加,數(shù)據(jù)傳輸誤碼率將大大增加,使得總線(xiàn)惡化。

  參考文獻(xiàn)

  [1] Infineon Technologies Inc. TC1796 32Bit SingleChip Microcontroller User’s Manual,2007.

  [2] Infineon Technologies Inc. SAKCIC310OSMX2HT FlexRay Communication Controller Data Sheet,2007.



評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉