Beaglebone Black所使用的TI芯片(XAM3359AZCZ revision 2)包含了一個主處理器和許多其他的模塊,如下圖:
盡管ARM Cortex-A8內核的性能十分強大,但是Linux的本質決定了對于高速外部硬件的控制可能會不太容易實現。而TI的這款芯片添加了兩個額外的CPU(稱為PRU-ICSS或PRUSSv2,即可編程實時單元和工業用通信子系統,以后簡稱PRU),從而使這個問題得到了改善。這意味著這兩個CPU可以分別運行不同的軟件,以便減輕底層協議在硬件接口和處理上的工作量。
這款芯片就好像具有Arduino類似功能的處理器,只不過其額外的兩個CPU工作頻率要高出許多,達到200MHz,也就是說在許多情況下可以不再需要外部邏輯器件、CPLD或者FPGA。
通常來說,針對一個以上的處理器進行編程是一件麻煩事,而且處理器之前還需要有通信協議。而TI的這款芯片則極大的簡化了這種麻煩,原因有兩點,一是用于PRU的代碼可以從主處理器下載,二是為了方便處理器之間通信,芯片集成了共享存儲器。
PRU的作用體現在哪兒?
對于低速通信來說,傳統的I2C或者常用的協議就已經足夠應付了,因此PRU在這些地方并沒有用武之地。而對于高速通信PRU可能會非常受歡迎,這是因為PRU能夠消除由于Linux環境切換所造成的中斷,從而連續對硬件提供服務,也不會對ARM主處理器造成負擔。這里有一些常見的并且可行例子;
? 連接到高速ADC(例如模擬信號捕捉)
? CCD 或者CMOS攝像機
? LED或者LCD顯示器
? 生成模擬視頻信號(視頻編碼器)
? 自定義PWM或者其他自定義協議或非標準協議
? 帶反饋的電機控制
據我所知,PRU甚至能夠用某個外部時鐘來作為并行數據的時鐘。
如何使用PRU?
當前來說使用PRU即不簡單也不算困難。主要的難度在于在網上找到完整的實例。這里提供的內容就是從網上收集而來的。
主要步驟如下:
1. 在BB-Black上使能PRU系統
2. 將PRU匯編程序安裝到BBB上(當前用于PRU的代碼是都是用匯編寫的,還沒有人開發出這對PRU的C編譯器)
3. 編寫代碼。PRU應用程序分為兩部分,而且相互之間能夠通過存儲器尋址來進行通信,即
(a) 匯編代碼,編譯為.bin機器指令文件,以便在PRU上運行
(b) C語言代碼,運行于主處理器上,也就是Linux系統上。這些代碼負責將匯編代碼下載到RPU
4. 配置Linux設置樹,啟用所有引腳用于輸入輸出
5. 運行程序
PRU使用什么樣的匯編代碼?
還好寄存器數量很給力(都是32位),而且指令都是正交的,另外用于操作的位和字節參考都相當令人滿意,所以相對而言,比起某些常見的匯編語言,例如針對PIC或其他8位處理器的匯編來說,PRU使用的匯編代碼算是比較容易上手的了。匯編命令數量并不多,目前為止我只使用了大約45條命令中的一小部分,結果還不錯。(通常本人不愿意為了某個不太好用的處理器花太多時間學習匯編 – 但RPU*不同,其指令集貌似很好用的樣子)
PRU是否物有所值?
我覺得答案是肯定的,應為有了PRU就能夠在高速狀態下控制硬件(比如50MHz)。每條指令在PRU上只需要5納秒的執行時間(200MHz頻率,每條指令占用一個周期),并且不存在由于Linux內核造成的不規則延遲。
難點在哪兒?
難點主要在于和設備樹相關的東西。希望在未來能夠有所變化或者變得更簡單。在一個典型的微控制器上,輸入輸出的設定是用特定的寄存器完成的,這些寄存器存在于某個設備的某一部分存儲映射中。據我所知,當前運行在BB-Black上的軟件不允許用戶通過傳統的C代碼對這些硬件寄存器進行直接的修改操作。當前采用的方法叫做“設備樹”。它是一個文本文件,并且被壓縮成為二進制文件,在系統啟動時需要對其進行讀操作。該文件高速系統哪些是用于輸入輸出的引腳。設備樹的修改也適用于使能RPU系統。
有人曾經通過設備樹關閉了BB-Black上默認閃爍的LED燈。設備樹文件位于BB-Black的/boot目錄下,是一個二進制文件,其內容自然無法看懂(如下圖),通常文件名為.dtb或者.dtbo。
PRU IDH相關知識學習:
.cn/my/space-uid-367319-blogid-95026.html Sitara AM335x新手私房菜系列之可編程實時單元 (PRU)
AM335x處理器系列 軟文!一枚!
.cn/technology/2014-07/03/content_1393229.htm TI全新處理器系列帶來更高的性能和實時處理能力
AM437x處理器系列 軟文!一枚 2頁!
http://wenku..com/view/2ded112f3169a4517723a3b3.html
IDH 名詞解釋!軟文!一枚 有助于對自身定位的認識!
/article/80582 遺漏產品學習!
德州儀器推出具有業界性能單內核 ARM® Cortex-A8 與*集成度的 AM389x Sitara ARM 處理器
Sitara 有強大的HMI,HMI設備包括硬件與軟件。這里的軟件也就是組態軟件,硬件我更關心的是他的串口和以太網接口。在有些的情況下可能要使用的串口會非常的多,可能會達到七八個之多,這是就很少有CPU可以達到這個程度,這時如果你使用別的一些CPU通過串口擴展芯來做,這是就有一個問題:多串口的擴展芯片非常的貴,有時甚至超過了CPU本身,如果是用電腦通過插多串口卡來做,串口卡的價格也是一個永遠的痛,前段時間論壇好像就有人問什么片子有10個串口!
而TI Sitara 的AM335x、AM437x系列有一種可以根據用戶需要而自行構造的邏輯功能的數字集成電路引腳("CPLD"),可以根據你的需要靈活的配制出任意你想要的功能。可以通過它配置出一個串口或者是CAN總線;通過AM335x、AM437x的PRU模塊,可以將它管理到的而你別的常規沒直接用到的引腳配置成任意你想要的功能。比如說串口或是CAN總線。所不同的是CPLD時,你用的是VHDL,而PRU時你用的是TI提供的PRU匯編(TI提供了豐富的例程)。因此我們可以看著PRU就是AM335x、AM437x的片上 “CPLD”。對于只使用串口的HMI產品而言,你可以將網絡接口等對應的引腳全部配置成串口。這樣你只需要一顆CPU的錢,就買到了一顆CPU外加四路以上的串口擴展而對于使用網絡接口的HMI產品,TI Sitara AM389x是你的選擇。強大的顯示子系統PowerVR 3D 2000MPoly/Sec, 足以應付HMI所需的各種復雜圖形處理要求。
擁有了PRU就實現了設備電路的靈活性,也極大的簡化了電路,降低了成本。
關于我們
華和技術(WONHERE)順應市場發展趨勢,作為智能硬件一站式解決方案提供者,基于低功耗嵌入式平臺專注采集、控制、通訊一站式解決智能硬件研發,堅持以持續)創新為客戶不斷創造價值。成功案例遍布檢測監測儀器、環境工程與自然、工業控制與自動化、智能交通能源、北斗位置服務、國防及醫療電子等領域。致力于通過方案開發幫助客戶:縮短開發周期,降低開發成本,提高投資效率。致力于通過技術服務、項目管理和集成化的采購、生產幫助客戶提高供貨質量和降低企業運營成本。
華和技術(WONHERE)有十余年的嵌入式項目研發及管理經驗,團隊致力于平臺級產品的研發和檢測、監測、控制類系統方案的項目定制。華和技術是武漢大學研究生培養基地、湖北省儀器儀表學會理事單位,擁有嵌入式系統開發領域的多項知識產權。華和技術以打造中國低功耗嵌入式平臺、物聯網智能硬件開發及技術支持中心為使命。我們的產品有:ARM335x嵌入式板卡、ARM3530嵌入式板卡、ARM3730嵌入式板卡,X86嵌入式平臺、Power PC嵌入式平臺,以及儀器儀表、環境工程、智能裝備、智能交通、行業嵌入式系統方案。產品咨詢請與華和技術(WONHERE)聯系。
上一篇:控溫磁力泵的介紹及保養
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.xashilian.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025長三角國際智能儀表/線纜產業博覽會
展會城市:滁州市展會時間:2025-11-11