1.1 引言 LIN 是低成本網絡中的汽車通訊協議標準,LIN(Local Interconnect Network)是低成本的汽車網絡,它是現有多種汽車網絡在功能上的補充由于能夠提高質量、降低成本,LIN 將是在汽車中使用汽車分級網絡的啟動因素。LIN 的標準化將簡化多種現存的多點解決方案且將降低在汽車電子領域中的開發生產服務和后勤成本。 LIN 標準包括傳輸協議規范、傳輸媒體規范、開發工具接口規范和用于軟件編程的接口LIN在硬件和軟件上保證了網絡節點的互操作性并有可預測EMC的功能。 1.2 芯片簡介 SPMC75系列MCU是凌陽科技公司設計開發的高性能16位通用MCU,具有很強的抗干擾性能、豐富易用的資源以及優良的結構,特別是增強的定時計數器和PWM輸出功能。SPMC75系列MCU使用凌陽u'nSP內核,u'nSP內核是一種高效的16位CISC內核。支持乘法、乘法累加、32/16位除法、FIR等高性能運算;支持兩種中斷模式。可以方便的產生SPWM波、空間向量PWM(SVPWM)等各種電機驅動波形。 除了擁有高性能的CPU外,SPMC75系列MCU還集成了多種功能模塊:多功能I/O口、同步和異步串行口、高性能ADC、普通的定時計數器、多功能的捕獲比較模塊、BLDC電機驅動專用位置偵測接口、兩相增量編碼器接口、能產生各種電機驅動波形的PWM發生器等。同時,SPMC75系列單片機內部集成了32K Words的Flash和2K Words的SRAM。利用這些硬設支持,SPMC75系列單片機可以完成諸如家用電變頻驅動、標準的工業變頻驅動器、多環的伺服驅動系統等復雜應用。 TJA1020(Philips)是LIN 主/從協議控制器和LIN(Local Interconnect Network)物理總線之間的接口,主要用作為車輛中的副網絡。使用的波特率可從2.4 到20Kbits/s。TJA1020支持普通斜率和低斜率兩種工作模式,并可在普通斜率模式以及低斜率模式間進行切換。TJA1020還支持睡眠模式,以減小系統功耗。 1.3 LIN總線簡介 LIN(Local Interconnect Network) Bus是一種串行通訊總線,它有效地支持汽車應用中分布式機械電子節點的控制。它的使用范圍是帶單主機節點和一組從機節點的多點總線,其系統結構如圖 1-1所示。LIN Bus系統主要特性有: ■單主機多從機組織(即沒有總線仲裁),配置靈活; ■基于普通UART/SCI 接口的低成本硬件實現低成本軟件協議; ■帶時間同步的多點廣播接收,從機節點無需石英或陶瓷諧振器,可以實現自同步; ■保證信號傳輸的延遲時間。可選的報文幀長度:2、4 和8 字節; ■數據校驗和的安全性和錯誤檢測,自動檢測網絡中的故障節點; ■使用最小成本的半導體組件(小型貼片,單芯片系統)。 ■速度高達20kbit/s; 圖 1-1 LIN Bus系統結構 1.4 LIN協議在SPMC75F2313A上的實現 LIN Bus是一種簡單的單總線系統,其軟件協議棧比較簡單。一個LIN網絡中有一個主機節點和一個以上的從機節點組成,所有的節點都包括有從機服務程序來發送和接收數據,僅有一個節點包含有主機服務程序。主機程序主要用于發送同步間隔、同步場和ID場(也可以是命令),用于控制和協調各個節點的有序無紊的通訊。 1.4.1 LIN信息傳輸 LIN信息是以報文的形式傳送的。報文傳輸是由報文幀的格式形成和控制的。報文幀由主機任務向從機任務傳送同步和標識符信息,并將一個從機任務的信息傳送到所有其它從機任務。主機任務位于主機節點內部,它負責報文的進度表、發送報文頭(HEADER)。從機任務位于所有的(即主機和從機)節點中,其中一個(主機節點或從機節點)發送報文的響應(RESPONSE)。 一個報文幀如圖 1-2所示,是由一個主機節點發送的報文頭和一個主機或從機節點發送的響應組成。報文幀的報文頭包括一個同步間隔場(SYNCH BREAK FIELD)、一個同步場(SYNCH FIELD)和一個標識符場。報文幀的響應(RESPONSE)則由3 個到9 個字節場組成:2、4 或8 字節的數據場(DATA FIELD)和一個校驗和場(CHECKSUM FIELD)。字節場由字節間空間分隔,報文幀的報文頭和響應是由一個幀內響應空間分隔。最小的字節間空間和幀內響應空間是0,這些空間的最大長度由報文幀的最大長度TFRAME_MAX。 圖 1-2 LIN 報文幀 1.4.2 LIN信息傳輸過程 LIN從機向主機傳輸數據示如圖 1-3所示,整個過程在主機的協調下進行。 圖 1-3 從機向主機傳輸數據 LIN主機向兩個或兩個以上的從機發送數據如圖 1-4所示,整個過程在主機的協調下進行。 圖 1-4 主機向兩個或兩個以上的從機發送數據 從機和從機之間傳輸數據如圖 1-5所示,整個過程在主機的協調下進行。 圖 1-5 從機和從機之間傳輸數據 1.4.3 LIN物理層控制 ■ 同步間隔(SYNCHRONISATION BREAK)檢測 為了能清楚識別報文幀的開始,報文幀的第一個場是一個同步間隔。同步間隔場(SYNCH BREAK FIELD)是由主機任務發送,它使所有的從機任務與總線時鐘信號同步。同步間隔場有兩個不同的部分如圖 1-6所示。第一個部分是由一個持續TSYNBRK或更長時間(即最小是TSYNBRK不需要很嚴格)的顯性總線電平。接著的第二部分是最少持續TSYNDEL 時間的隱性電平,作為同步界定符。第二個場允許用來檢測下一個同步場(SYNCH FIELD)的起始位。最大的間隔和界定符時間沒有精確的定義,但必須符合整個報文頭THEADER_MAX 的總體時間預算,THEADER_MAX在表 1-1中定義。 圖 1-6 同步間隔場 表 1-1 報文的定時 同步間隔場的顯性電平長度至少為TSYNBRK(可以更長),這個時間是用主機位定時來測量。最小值應根據連接從機節點指定的最小本地時鐘頻率所要求的閥值而得出。 在SPMC75F2313A上,同步間隔里的各個時間測量都是通過捕獲輸入實現的。SPMC75F2313A的捕獲輸入可以很方便的測量TSYNBRK和TSYNDEL,并在檢測完成后與TSYNDEL的下降沿同步。 ■ 波特率測量 波特率測量是在LIN總線的同步場(SYNCH FIELD)進行的。同步場包含了時鐘的同步信息。同步場的格式如圖 1-7所示,它通過使UART發送"0x55"來實現,表現在8 個位定時中有5 個下降沿(即:"隱性"跳變到"顯性"的邊沿)。使用SPMC75F2313A的捕獲輸入功能可以很方便的測量出相鄰兩個下降沿之間的時間間隔,利用這個時間間隔就可以算出波特率。 圖 1-7 同步場示意圖 1.5 系統設計 系統電路原理框圖如錯誤!未找到引用源。所示。電路由MCU控制核心電路和LIN接口兩部分構成。 MCU控制核心電路主要由SPMC75F2313A實現,它主要完成LIN協議的實現和整個系統的控制。SPMC75F2313A集成有實現LIN總線結點的必要硬件,包括UART、捕獲輸入和足夠的定時器。特別是其捕獲輸入功能,為LIN的幀頭識別、幀同步和波特率測量提供了極大的便利。 LIN接口部分主要是由LIN物理層接口芯片TJA1020構成,它主要完成MCU通信信號與LIN物理總線信號之間的相互轉換。為MCU提供一個與LIN物理總線的接口。 圖 1-8 硬件原理圖 1.6 結語 凌陽科技公司新推出SPMC75是一系列功能強大的工業級MCU,具有極強的抗干擾能力。其內部集成有高性能的ADC、增強型的定時計數器等功能部件,強大捕獲比較功能和PWM生成功能使其在如LIN、RF Mode、IrA等通信領域有非常杰出的表現。用SPMC75系列MCU可以方便的構成各種簡潔高效的通信系統。 |