a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于FPGA的CAN總線控制器SJA1000軟核的設計

基于FPGA的CAN總線控制器SJA1000軟核的設計

作者: 時間:2011-04-15 來源:網絡 收藏

摘要:分析了的特點及協議通信格式。的IP,能為應用提供一個性能優良的、易于移植的,實現了對步進電機的控制。
關鍵詞:控制器;SJA1000

控制局域網(CAN)屬于現場的范疇,它是一種有效支持分布式控制或實時控制的串行通信網絡。與一般的通信相比,CAN的數據通信可靠性、實時性和靈活性好,應用領域非常廣泛,通常基于ARM或51單片機,實現與CAN控制器的通信聯絡。/SOPC技術是實現嵌入式系統的最高形式,基于IP與應用也必將成為替代硬核的一種發展趨勢。憑借QuartuslI和NiosII工具,基于的VHDL(或Verilog)語言的IP核能夠提供靈活性和性能更好的控制器。
圖1為一個基于FPGA的控制器的CAN總線節點。其中PCA82C251是CAN總線接收器,SJA1000是CAN總線通信控制器,PMM8713是驅動步進電機的脈沖分配器,FPGA模塊在節點模型中對SJA1000進行控制,并將接收到的幀信息進行處理,發送給脈沖分配器,以驅動步進電機。

本文引用地址:http://www.j9360.com/article/162166.htm

a.JPG


在設計中采用自頂向下的設計方法。通過分析SJA1000常用的控制芯片51單片機的功能,將其分為主要的4個模塊:初始化模塊、位查詢模塊、數據處理模塊和緩沖區釋放模塊。
對SJA1000完成控制功能的過程用狀態圖描述如圖2所示,這也是系統的主狀態機。4個狀態對應上述的4個功能模塊,首先在initial_st-ate完成對sJA1000的初始化,在由init_end信號給出初始化完成標志后,進入查詢狀態,即query_RBS狀態,由位查詢模塊完成此時對SJA100 0的狀態查詢。如果查詢到SJA1000緩沖區有幀信息,將qRBS_end置“1”,進入下一個狀態frame_cope,即幀處理狀態,此時由數據處理模塊完成對緩沖區的數據讀取,并作處理。在讀取完一幀數據后,需要釋放緩沖區,為下一幀信息的接收做準備。此時狀態轉入了release_buff-er,對應功能模塊中的緩沖區釋放模塊,此狀態結束后又轉入位查詢狀態,為下一幀信息接收做準備。

b.JPG


初始化模塊主要在系統上電或重啟后,先對SJA1000進行初始化;位查詢模塊是在初始化完成后,對SJA1000狀態寄存器的接收緩沖區標志位不斷進行查詢,如果在緩沖區收到一幀信息后,則轉入數據處理模塊,否則繼續進行查詢;數據處理模塊則是在查詢到接收緩沖區有數據后,讀入幀數據,并對幀數據進行處理;緩沖區釋放模塊是在一幀信息處理完畢后,釋放緩沖區空間。
除了上述4個功能模塊之外,還需要讀寫模塊、雙端口模塊、模塊接口控制邏輯等。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉