91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 控制技術

ARM7與FPGA在工業控制的結合

發布時間:2008/8/20 0:00:00 訪問次數:492

  工業控制中往往需要完成多通道故障檢測及多通道命令控制(這種多任務設置非常普遍),單獨的cpu芯片由于其外部控制接口數量有限而難以直接完成多路檢控任務,故利用arm芯片與fpga相結合來擴展檢控通道是一個非常好的選擇。這里介紹用atmel公司arm7處理器(at91fr40162)和altera公司的低成本fpga芯片(cyclone2)結合使用完成多通道檢控任務的一種實現方法。

各部分功能簡介

  圖1為此系統的結構連接框圖。如圖所示,arm芯片與fpga芯片之間通過數據總線、地址總線及讀寫控制線相連,而與終端pc則通過串口通信;fpga與目標設備通過命令控制總線和故障檢測總線相連。


圖1 系統結構框圖


1 故障檢測和命令控制部分

  故障檢測:檢測通道的故障(正常)信號以高(低)電平方式指示,其一旦有故障產生就會保持高電平不變直到故障排除。針對這種特征,在arm控制器端采用定時中斷循環查詢方式來判斷故障通道的狀態。定時中斷程序通過對arm 地址總線在fpga中進行譯碼而順序鎖定被檢測通道的電平值,然后再經數據總線傳回arm進行判斷,最后將判斷結果送至遠程終端。采用主機查詢方式而不采用故障中斷方式出于兩個原因:一方面是通常控制芯片外部中斷源有限(多數為4個外部中斷源),對于多目標中斷信號檢測顯然是困難的;另一方面,由于檢測通道或設備受到短時干擾而產生電平隨機反轉,造成故障中斷觸發,而中斷觸發后又無法在通道電平恢復正常時撤銷故障信號,故而形成虛假報警。

  命令控制:arm芯片先判斷主控端發來的控制命令,然后通過地址總線和數據總線將命令狀態發送至經fpga地址譯碼鎖定的控制通道上。

2 arm芯片與遠程檢測控制終端通信  

  由于只存在命令和故障狀態信號的收發,所以利用arm的串口實現與遠程pc的通信,通信標準選為rs232標準。不過,在arm芯片上要先將ttl電平通過max232芯片轉換為rs232電平標準,對于距離超過15m的全雙工通信,在發送接收兩端還要各加一對rs232轉rs422電平的轉換模塊,以增加通信距離。

3 fpga內部功能模塊說明

  fpga內部檢測及控制電路結構關系如圖2所示。


圖2 fpga內部邏輯結構


  arm芯片的addr2~0位地址線和片選使能信號一同進入譯碼器decode1進行地址譯碼后產生8路輸出(fpga內部可設置一個最大輸出為256路的譯碼模塊,所以在實際應用中可擴展為更多通道),低4路用于命令發送通道,高4路用于故障檢測通道,讀寫使能信號控制數據總線。

  arm芯片接收到發送信號編碼命令時,立即在串口接收中斷服務子程序中并送相應地址(通道編號)和數據(命令狀態)到fpga中。譯碼器有效輸出作為相應通道d觸發器的鎖存時鐘,而數據狀態則被觸發器鎖定后作為所選通道的輸出完成相應控制。

  arm芯片在定時中斷產生進入服務程序后對所有檢測通道輪流查詢,查詢到有通道故障時,故障信號結合選中通路信號經與非運算送往數據端口被讀取。

fpga程序設計注意問題

1延時的配置

  通過地址總線和數據總線進行命令傳輸和故障檢測時,fpga是作為arm芯片的普通外設來使用的。而arm芯片對外設訪問的速度要遠低于片內存儲器,所以要在arm中設置訪問的正確等待周期。arm中提供的延時周期為0~7個,通過調試即可找到外設合適的等待周期,此系統的等待周期根據實際測試設置為5個,具體的配置方法見arm程序說明。

2 讀寫使能信號的連接

  從圖2中可以看出,寫使能信號nwe及讀使能信號nrd應作為數據線(data0~5)的三態控制信號連接,即使在arm芯片無其他外設時也不能缺省。因為arm的上電加載程序時間要長于同一系統上fpga的程序配置時間,而fpga的檢測及控制通道與arm芯片的數據總線相連,fpga加載完成后數據總線會存有相應通道的邏輯電平值(不為三態),這就會導致arm芯片在對片內flash芯片燒寫程序或上電加載程序時與fpga沖突(數據被邏輯鎖定),造成無法正確定位操作對象而使讀寫失敗。

arm配置及應用程序說明

1 處理器的資源分配

存儲器

  at91fr40162內嵌一個256kb的sram,1024k個16位字組成的flash存儲器。sram通過內部32位數據總線與arm核相連,單周期訪問,flash存儲器則通過外部總線訪問。

系統外圍

  ebi:外部總線控制接口,ebi可尋址64mb的空間,通過8個片選線(ncs0~ncs3獨立)和24位地址線訪問外設,地址線高4位與片選線(ncs4~7)復用,數據總線可配置成8/16位兩種模式與外設接口。

  pio:并口控制器,pio控制32根i/o線,多數為復用引腳,可通過編程選擇為通用或專

  工業控制中往往需要完成多通道故障檢測及多通道命令控制(這種多任務設置非常普遍),單獨的cpu芯片由于其外部控制接口數量有限而難以直接完成多路檢控任務,故利用arm芯片與fpga相結合來擴展檢控通道是一個非常好的選擇。這里介紹用atmel公司arm7處理器(at91fr40162)和altera公司的低成本fpga芯片(cyclone2)結合使用完成多通道檢控任務的一種實現方法。

各部分功能簡介

  圖1為此系統的結構連接框圖。如圖所示,arm芯片與fpga芯片之間通過數據總線、地址總線及讀寫控制線相連,而與終端pc則通過串口通信;fpga與目標設備通過命令控制總線和故障檢測總線相連。


圖1 系統結構框圖


1 故障檢測和命令控制部分

  故障檢測:檢測通道的故障(正常)信號以高(低)電平方式指示,其一旦有故障產生就會保持高電平不變直到故障排除。針對這種特征,在arm控制器端采用定時中斷循環查詢方式來判斷故障通道的狀態。定時中斷程序通過對arm 地址總線在fpga中進行譯碼而順序鎖定被檢測通道的電平值,然后再經數據總線傳回arm進行判斷,最后將判斷結果送至遠程終端。采用主機查詢方式而不采用故障中斷方式出于兩個原因:一方面是通常控制芯片外部中斷源有限(多數為4個外部中斷源),對于多目標中斷信號檢測顯然是困難的;另一方面,由于檢測通道或設備受到短時干擾而產生電平隨機反轉,造成故障中斷觸發,而中斷觸發后又無法在通道電平恢復正常時撤銷故障信號,故而形成虛假報警。

  命令控制:arm芯片先判斷主控端發來的控制命令,然后通過地址總線和數據總線將命令狀態發送至經fpga地址譯碼鎖定的控制通道上。

2 arm芯片與遠程檢測控制終端通信  

  由于只存在命令和故障狀態信號的收發,所以利用arm的串口實現與遠程pc的通信,通信標準選為rs232標準。不過,在arm芯片上要先將ttl電平通過max232芯片轉換為rs232電平標準,對于距離超過15m的全雙工通信,在發送接收兩端還要各加一對rs232轉rs422電平的轉換模塊,以增加通信距離。

3 fpga內部功能模塊說明

  fpga內部檢測及控制電路結構關系如圖2所示。


圖2 fpga內部邏輯結構


  arm芯片的addr2~0位地址線和片選使能信號一同進入譯碼器decode1進行地址譯碼后產生8路輸出(fpga內部可設置一個最大輸出為256路的譯碼模塊,所以在實際應用中可擴展為更多通道),低4路用于命令發送通道,高4路用于故障檢測通道,讀寫使能信號控制數據總線。

  arm芯片接收到發送信號編碼命令時,立即在串口接收中斷服務子程序中并送相應地址(通道編號)和數據(命令狀態)到fpga中。譯碼器有效輸出作為相應通道d觸發器的鎖存時鐘,而數據狀態則被觸發器鎖定后作為所選通道的輸出完成相應控制。

  arm芯片在定時中斷產生進入服務程序后對所有檢測通道輪流查詢,查詢到有通道故障時,故障信號結合選中通路信號經與非運算送往數據端口被讀取。

fpga程序設計注意問題

1延時的配置

  通過地址總線和數據總線進行命令傳輸和故障檢測時,fpga是作為arm芯片的普通外設來使用的。而arm芯片對外設訪問的速度要遠低于片內存儲器,所以要在arm中設置訪問的正確等待周期。arm中提供的延時周期為0~7個,通過調試即可找到外設合適的等待周期,此系統的等待周期根據實際測試設置為5個,具體的配置方法見arm程序說明。

2 讀寫使能信號的連接

  從圖2中可以看出,寫使能信號nwe及讀使能信號nrd應作為數據線(data0~5)的三態控制信號連接,即使在arm芯片無其他外設時也不能缺省。因為arm的上電加載程序時間要長于同一系統上fpga的程序配置時間,而fpga的檢測及控制通道與arm芯片的數據總線相連,fpga加載完成后數據總線會存有相應通道的邏輯電平值(不為三態),這就會導致arm芯片在對片內flash芯片燒寫程序或上電加載程序時與fpga沖突(數據被邏輯鎖定),造成無法正確定位操作對象而使讀寫失敗。

arm配置及應用程序說明

1 處理器的資源分配

存儲器

  at91fr40162內嵌一個256kb的sram,1024k個16位字組成的flash存儲器。sram通過內部32位數據總線與arm核相連,單周期訪問,flash存儲器則通過外部總線訪問。

系統外圍

  ebi:外部總線控制接口,ebi可尋址64mb的空間,通過8個片選線(ncs0~ncs3獨立)和24位地址線訪問外設,地址線高4位與片選線(ncs4~7)復用,數據總線可配置成8/16位兩種模式與外設接口。

  pio:并口控制器,pio控制32根i/o線,多數為復用引腳,可通過編程選擇為通用或專

相關IC型號

熱門點擊

 

推薦技術資料

自制經典的1875功放
    平時我也經常逛一些音響DIY論壇,發現有很多人喜歡LM... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
长子县| 双峰县| 韶山市| 永登县| 嘉善县| 海宁市| 花莲县| 钟山县| 泊头市| 田林县| 海盐县| 仙桃市| 亚东县| 赤峰市| 镇赉县| 紫阳县| 郎溪县| 桐乡市| 大洼县| 会昌县| 武城县| 茂名市| 民县| 呼玛县| 府谷县| 弥渡县| 富源县| 汶川县| 偃师市| 扶余县| 兴隆县| 正宁县| 潢川县| 宁城县| 新蔡县| 闻喜县| 遵义市| 淅川县| 芷江| 聊城市| 仁寿县|