《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于MSP430單片機的Profibus-DP通信接口的開發
基于MSP430單片機的Profibus-DP通信接口的開發
EEworld
摘要: O引言Profibus是開放的、與制造商無關、無知識產權保護的標準。因此世界上任何人都可以獲得該標...
Abstract:
Key words :

關鍵字:MSP430單片機 Profibus-DP 通信接口

  O 引言

  Profibus是開放的、與制造商無關、無知識產權保護的標準。因此世界上任何人都可以獲得該標準并設計各自的軟硬件解決方案。Pro-fibus-DP通信接口的開發有兩種方案選擇:單片機+軟件;單片機+Profibus通信芯片ASIC。

  方案2中Profibus-DP協議完全由Profibus通信ASIC來實現,單片機主要處理用戶程序。因此方案2開發周期相對少很多,本文將采用單片機+Profibus通信ASIC來實現Profibus通信接口的設計。

  1 Profibus-DP基本特性

  Profibus包括三個兼容系列:Profibus-FMS,Profibus-DP,Profibus-PA。FMS提供大量的通信服務用于完成以中等傳輸速度進行的循環和非循環的通信服務;DP是一種經過優化的高速廉價的通信連接,適用于實時性要求較高的場合,主要用于自動控制與分散式外設之間的通信;PA是專為過程自動化而設計,具有本質安全性,用于安全性要求較高的場合及總線供電的站點。

  1.1 協議結構

  Profibus-DP協議采用了ISO/OSI模型的第1層(物理層)、第2層(數據鏈路層),除去了3~7層,并自定義了用戶接口層,這種協議結構保證了數據傳輸的快速有效。

  1.2 報文結構

  Profibus-DP數據編碼采用異步不歸零制,傳輸線的空載電平為“1”。為了避免數據傳輸中發生沖突而導致數據丟失,在每個請求報文發送前必須保證33位(同步時間)的空載狀態。在單個字符間所有數據傳送時沒有間隙,即無縫。各種報文的格式如圖1所示。

  


  1.3 Profibus-DP從站狀態機

  圖2為DP從站狀態機的簡單圖示。各種橢圓表示不同的狀態,帶箭頭的連線表示狀態間的轉換,連線上的文字表示狀態轉換所需滿足的條件。

  

  只有在Power_on狀態,從站可以接收來自二類主站的“Set_Slave_Address"報文,從而改變從站地址,從站應具有非易失性存儲器來存儲從站地址。內部啟動后,從站進入wait_Prm狀態,等待“Wait_Prm”報文。參數化報文由用戶組態時給定,包括一些標準的信息,如識別號、同步鎖定能力,還包括了一些用戶特別定義的數據,另外,在此狀態從站還可以接收“Get_Cfg”報文、“Slave_Diag”報文,但拒絕處理其他報文,不能進行數據通信。如果Set_Prm正確,從站進入wait_Cfg狀態,等待“Check_Cfg”報文,該報文規定主站對它的配置信息,即數據交換中的輸入輸出字節數。此外,也可接收“Get_Cfg”報文、“Slave_Diag”的報文。當參數化與配置正確通信,在此狀態,從站可以接收以下報文:Data_Exchange_Ok、Writing_outputs,Reading_Inputs,Global_Control,Slave_Diag,Get_Cfg等。從站接收主站的狀態請求后,以高優先級的診斷報文作為應答。診斷信息包括了標準診斷信息和與用戶有關的信息。

  2 通信接口硬件設計

  本文選用的Profibus-DP的通信協議芯片為SPC3。SPC3集成了全部的Profibus-DP協議。SPC3在DP方式下將完成所有DP-SAP的設置。SPC3內部集成了1.5 KB的雙口RAM,包括參數寄存器、方式寄存器、狀態寄存器,中斷控制器等。SPC3內部集成的看門狗定時器有3種工作狀態:波特率檢測、波特率控制和從站控制。內部的USART可實現并行數據流和串行數據流的相互轉換。微順序控制器控制整個工作過程。空閑定時器直接控制串行總線的時序。

  

  考慮到Profibus對速率的要求本文選用高速率,低功耗的16位MSP430單片機,采用Intel工作方式。CPU與SPC3接口電路如圖3所示。對于MSP430單片機而言,SPC3相當于它擴張的一個外部RAM。單片機可以通過訪問外部RAM的方法訪問SPC3的寄存器。RS 485驅動器的一端與SPC3相連,另一端通過9針D型插頭與總線相連。RS 485驅動器選擇SN75SLS176來滿足高速的數據通信。

  3 通信接口軟件設計

  軟件設計是開發Profibus-DP通信接口的一個重要環節。由于SPC3集成了完整的DP協議,因此在進行通信時,MSP430單片機不用參與處理DP狀態機。主要任務是根據SPC3產生的中斷,對SPC3接收到數據轉存,組織要通過SPC3發給的數據,并根據要求組織外部診斷。

  

  主程序流程圖如圖4所示,在SPC3正常工作之前,需要進行初始化,以配置需要的寄存器,包括設置協議芯片的中斷允許,寫入從站識別號和地址,設置SPC3方式寄存器,設置診斷緩沖區,配置緩沖區,地址緩沖區,初始化長度,并根據以上初始值得出各個緩沖區的指針和輔助緩沖區的指針。根據確定輸出緩沖區、輸入緩沖區及指針,初始化流程圖如圖5所示,初始化包括:SPC3硬件復位、硬件模式、設置SPC3中斷屏蔽寄存器、SPC3內部看門狗、設備標識號、緩沖區初始化。

  中斷程序流程圖如圖6所示,在Profibus-DP中最主要處理以下的中斷事件:新的參數報文事件,全局控制命令報文事件,進入或退出數據交換狀態事件,新的配置報文事件,新的地址設置報文事件,檢測到波特率事件,看門狗事件。

  4 結語

  選用的MSP430單片機具有高速率、低功耗的特點,SPC3芯片則集成了Profibus-DP全部協議內容,整系統功能相對完善,使用方法簡單。本方案用于Profibus-DP通信接口的開發,可以減少開發周期,實現開發的簡化。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日韩在线看片中文字幕不卡 | 免费在线观看黄色网址 | 日韩一级生活片 | 一级做a免费观看大全 | 亚洲系列在线 | 一区二区三区四区在线视频 | 成年香蕉大黄美女美女 | 三级视频黄色 | 全免费午夜一级毛片真人 | 性感美女香蕉视频 | 性亚洲 | 强制高潮18xxxxhd日韩 | 免费人成网站永久 | 日韩精品欧美精品中文精品 | 国产无套粉嫩白浆在线精品 | 欧美一级片免费在线观看 | 99re九精品视频在线视频 | 国产免费看网站v片不遮挡 国产免费黄视频 | 在线观看黄网站免费继续 | 天天射天天摸 | a级毛片蜜桃成熟时2在线播放 | 不卡视频一区 | 99久久九九 | 日本免费新一区二区三区 | 亚洲a视频在线观看 | 人成在线视频 | 最近最新好看的中文字幕2019 | 欧美日韩国产成人综合在线 | 欧美日韩一区二区三 | 韩国午夜理伦三级在线观看仙踪林 | 日韩国产在线播放 | 亚洲日本在线观看网址 | 欧美日韩高清不卡一区二区三区 | 外国成人xxx在线视频 | 欧美激情午夜 | 成人h视频在线 | 欧美91视频 | 国产日产欧产美一二三区 | 成人黄色免费网址 | 两性午夜性刺激在线观看免费 | 国产精品久久久久久一区二区三区 |