日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]淺談EMC2的硬件抽象層原理與實(shí)現(xiàn)

1 概 述

嵌入式系統(tǒng)具有專用性強(qiáng)、外圍設(shè)備多樣的特性,這決定了其應(yīng)用的硬件環(huán)境差異性較大。系統(tǒng)軟件模塊與硬件之間的接口是嵌入式實(shí)時(shí)系統(tǒng)的主要特征,是系統(tǒng)設(shè)計(jì)過程中的必需環(huán)節(jié),也是影響嵌入式系統(tǒng)應(yīng)用前景的關(guān)鍵問題之一。硬件抽象層(Hardware AbSTractiON Layer,HAL)的引入可有效解決這一問題。HAL是將硬件平臺(tái)與應(yīng)用軟件隔離開來的軟件層次,通過硬件抽象技術(shù)實(shí)現(xiàn)硬件相關(guān)和硬件無關(guān)兩部分程序代碼的隔離,為應(yīng)用軟件提供一個(gè)沒有硬件特性的接口。硬件抽象層的引入不僅是系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)方法的改進(jìn),更直接關(guān)系到整個(gè)系統(tǒng)的開發(fā)模式以及嵌入式操作系統(tǒng)的可移植性。硬件抽象層的引入大大推動(dòng)了嵌入式系統(tǒng)開發(fā)的規(guī)范化進(jìn)程。

EMC是一個(gè)開放源代碼的用于機(jī)床或機(jī)器人等運(yùn)動(dòng)控制系統(tǒng)的計(jì)算機(jī)控制軟件。它能同時(shí)驅(qū)動(dòng)9軸電機(jī)。其運(yùn)動(dòng)控制特包括:刀具半徑和長度補(bǔ)償、軸同步運(yùn)動(dòng)、自適應(yīng)進(jìn)給速度、恒速度控制等。EMC2在原有EMC軟件的基礎(chǔ)上加入了許多新的特性和功能,其中包括了HAL和軟件PLC模塊ClassicLadder。ClassicLadder是一個(gè)基于LGPL協(xié)議的梯形圖解釋器。它隨著EMC2一起發(fā)布,可以與EMC2的HAL一起工作。本文中的控制系統(tǒng)利用EMC2的HAL為軟PLC中的應(yīng)用程序提供底層硬件操作支持,提高了應(yīng)用程序的平臺(tái)無關(guān)性與可移植性。

2 硬件架構(gòu)

控制器是鋰電池卷繞恒張力控制器,采用符合PC/104總線規(guī)范的單板計(jì)算機(jī)(以下簡稱PC104)與基于FPGA的專用主機(jī)板相結(jié)合的方法構(gòu)建系統(tǒng)硬件。PC104中運(yùn)行實(shí)時(shí)Linux,ClassicLadder及HAL作為實(shí)時(shí)模塊加載到Linux系統(tǒng)中。

系統(tǒng)硬件框圖如圖1所示。其中ADS8361為12位模/數(shù)轉(zhuǎn)換器,用于采集張力值等模擬量;AD5624為數(shù)/模轉(zhuǎn)換器,用于控制直流電機(jī)轉(zhuǎn)速及氣壓閥壓力值;FPGA控制所有外圍芯片,并產(chǎn)生電機(jī)脈沖方向信號,同時(shí)對電機(jī)編碼器信號進(jìn)行計(jì)數(shù);CPLD控制I/O輸入/輸出點(diǎn),并與FPGA交換信息。利用EMC2中HAL的實(shí)現(xiàn)原理,可編寫組件將硬件系統(tǒng)所有設(shè)備抽象成引腳和函數(shù)的形式,供軟PLC在需要時(shí)加載。

3 EMC2中HAL的基本概念

HAL,Hardware Abstraction Layer,硬件抽象層 Windows NT的一個(gè)目標(biāo)是使操作系統(tǒng)可跨平臺(tái)移植。理想情況下,當(dāng)一種新機(jī)器問世時(shí),他應(yīng)該可以僅僅使用新機(jī)器的編譯器來重新編譯這個(gè)操作系統(tǒng),就讓他首次運(yùn)行。但是,現(xiàn)實(shí)中并不能這樣做。雖然上層的操作系統(tǒng)能夠完全移植(因?yàn)樗鼈兊奶幚泶蠖嗍莾?nèi)部數(shù)據(jù)結(jié)構(gòu)),但底層處理的是設(shè)備寄存器、中斷、DMA和其他的硬件特性,這些都是因機(jī)器而不同的。即使大部分底層代碼是用C語言編寫的,它也不能僅僅從X86上拿出來放到Alpha上,然后重新編譯、重新啟動(dòng),因?yàn)閄86和ALPHA之間存在許多小的硬件差別,它們和不同的指令集相關(guān)并且不能被編譯器隱藏。

4  HAL架構(gòu)

系統(tǒng)軟件架構(gòu)如圖2所示。用HAL將各I/O通道、ADC通道、DAC通道、脈沖通道、編碼器通道抽象成Pin,將對硬件各模塊的操作抽象成各個(gè)Function,將Pin和Function封裝在命名為hal_CNC的Component中。

硬件在Component中被映射為如下數(shù)據(jù)結(jié)構(gòu):

由上述結(jié)構(gòu)可以看出,每個(gè)Pin對應(yīng)一個(gè)相應(yīng)類型的指針,該指針指向的內(nèi)存區(qū)便存放該引腳的值。

5 基于HAL的驅(qū)動(dòng)程序編寫

考慮內(nèi)存映射I/O和I/O端口的對比。一些機(jī)器具有前者,一些機(jī)器具有后者。驅(qū)動(dòng)程序該怎樣編寫?是否使用內(nèi)存映射呢?強(qiáng)制選擇會(huì)使驅(qū)動(dòng)程序無法移植到另一種實(shí)現(xiàn)方式的機(jī)器上,為此,硬件抽象層專為驅(qū)動(dòng)程序的編寫者提供了三個(gè)讀設(shè)備寄存器的函數(shù)和另外三個(gè)寫寄存器的函數(shù):uc=READ_port_UCHAR(port); WRIte_PORT_UCHAR(port, uc) us=READ_PORT_USHORT(port); WRITE_PORT_USHORT(port, us),ul=READ_PORT_ULONG(port); WRITE_PORT_LONG(port, ul) 這些函數(shù)分別讀寫無符號8位、16位、32位的證書到特定的端口。由HAL決定是否需要內(nèi)存映射I/O,這樣,一個(gè)驅(qū)動(dòng)程序可以不被修改而在具有不同設(shè)備寄存器實(shí)現(xiàn)的機(jī)器間移植。驅(qū)動(dòng)程序常由于各種原因而訪問特定的I/O設(shè)備。在這個(gè)硬件層上,一個(gè)設(shè)備的某個(gè)總線上會(huì)有一個(gè)或多個(gè)地址。由于現(xiàn)代計(jì)算機(jī)常有多種總線(PCI、PCI-E、SCSI、USB等),很可能兩個(gè)或更多設(shè)備具有相同的總線地址,因此需要通過某種方式來區(qū)分它們。HAL提供了一個(gè)服務(wù),該服務(wù)通過將總線相連的設(shè)備地址映射到系統(tǒng)范圍內(nèi)的邏輯地址來識(shí)別設(shè)備。這樣,驅(qū)動(dòng)程序就不需要知道哪條總線上有哪個(gè)設(shè)備了。這些邏輯地址與操作系統(tǒng)為用戶程序提供的指向文件和其他系統(tǒng)資源的句柄是類似的。這種機(jī)制也使總線結(jié)構(gòu)的屬性和尋址方式對于高層不可見。

6 HAL的使用

以DAC為例,在Linux下的命令行輸入“halrun”進(jìn)入EMC2的HAL運(yùn)行界面,輸入:

loadrt threads namel=thread periodl=1000000

創(chuàng)建名為“thread”的線程,該線程執(zhí)行周期為1 ms。

執(zhí)行:

loadrt hal_CNC

將所編寫的硬件系統(tǒng)組件調(diào)入,執(zhí)行:

addf CNC.DAC.write thread

將DAC的寫函數(shù)加入到前面創(chuàng)建的線程thread,使之以與thread相同的執(zhí)行周期被調(diào)用。然后使可通過控制DAC的引腳來輸出相應(yīng)的電壓。如:

setp CNC.DAC.0.value 1

該語句將使電路板上的DAC輸出端子輸出1 V的電壓。

用類似的方法將其他軟件模塊通過與HAL的引腳連接,便實(shí)現(xiàn)了其他軟件對HAL的調(diào)用。

7 HAL在ClassicLadder中的調(diào)用

以從DAC輸出5 V為例,將classicladder的一個(gè)名為“classicladder.0.s320ut-00”的有符號32位整型Pin賦值為5。該值經(jīng)過HAL中的一個(gè)類型轉(zhuǎn)換Component“s32tofloat”變?yōu)楦↑c(diǎn)數(shù),再連接到hal_CNC中的DAC單元的引腳“CNC.DAC.0.value”,便在實(shí)際硬件電路板的DAC輸出端輸出5 V的電壓。引腳連接如表1所列。

其中“→”和“←”表示引腳之間的連接,用HAL中的Sig-nal實(shí)現(xiàn)。

在軟PLC中設(shè)置變量W10的值為5,則在DA輸出端子引腳上用萬用表測到5 V的電壓。軟PLC中的操作輸出如圖3所示。

其中4個(gè)窗口表示DAC的4個(gè)通道,分別令DAC輸出5 V、2 V、3 V、4 V的電壓。

8 結(jié) 論

實(shí)踐證明,HAL的引入可極大提高嵌入式軟件實(shí)現(xiàn)的硬件無關(guān)性。從軟件的角度來看,其面向的硬件具有同質(zhì)的接口,對硬件的操作具有相似的方法與架構(gòu),極大地簡化了軟件對硬件的控制,方便了同類軟件在不同硬件平臺(tái)間的移植。這就為軟硬件同步設(shè)計(jì)、分工協(xié)作奠定了良好的基礎(chǔ)。該架構(gòu)已成功應(yīng)用在文中所述的鋰電池卷繞恒張力控制器中,取得了良好效果。
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

開創(chuàng)中國文旅產(chǎn)業(yè)AI深度應(yīng)用新樣本 北京2025年8月22日 /美通社/ -- 以下為來自億歐的報(bào)道: 8月22日,桂林旅游股份有限公司旗下銀子巖景區(qū)聯(lián)合合作伙伴正式發(fā)布全球首款A(yù)I伴游財(cái)神玩具 —— "五...

關(guān)鍵字: AI IP 數(shù)字化 硬件

電磁干擾(EMI)超標(biāo):醫(yī)療設(shè)備的電磁干擾可能對其他設(shè)備或系統(tǒng)造成干擾,導(dǎo)致性能下降或誤操作。這通常是由于設(shè)備設(shè)計(jì)或制造過程中的不當(dāng)措施引起的。

關(guān)鍵字: EMC 電磁

北京2025年8月18日 /美通社/ -- 2025年8月,軟通動(dòng)力集團(tuán)一項(xiàng)關(guān)鍵決策引發(fā)行業(yè)矚目——以自有資金8億元向全資子公司軟通計(jì)算機(jī)有限公司完成實(shí)繳增資,使其注冊資本增加至23億元。這筆戰(zhàn)略注資不僅彰顯集團(tuán)對信創(chuàng)核...

關(guān)鍵字: AI 硬件 計(jì)算機(jī) 智能化

自動(dòng)駕駛技術(shù)向L4/L5級躍遷,激光雷達(dá)作為核心感知器件,正面臨前所未有的技術(shù)挑戰(zhàn)。當(dāng)行業(yè)將目光聚焦于激光雷達(dá)的探測距離與點(diǎn)云密度時(shí),艙內(nèi)集成方案中熱設(shè)計(jì)與電磁兼容(EMC)的協(xié)同優(yōu)化,已成為決定系統(tǒng)可靠性的關(guān)鍵瓶頸。本...

關(guān)鍵字: 激光雷達(dá) EMC

在汽車電氣化浪潮中,48V啟動(dòng)停止系統(tǒng)憑借其節(jié)能增效優(yōu)勢迅速普及。然而,該系統(tǒng)在復(fù)雜電磁環(huán)境下的電磁兼容性(EMC)問題,已成為制約產(chǎn)品量產(chǎn)的關(guān)鍵瓶頸。本文結(jié)合某車型48V電源模塊的整改案例,系統(tǒng)闡述EMC問題診斷與優(yōu)化...

關(guān)鍵字: 汽車電子 EMC 電磁兼容性

高速數(shù)字電路向56Gbps PAM4、112Gbps NRZ等超高速率演進(jìn),電磁兼容性(EMC)問題已從輔助設(shè)計(jì)環(huán)節(jié)躍升為決定產(chǎn)品成敗的核心要素。傳統(tǒng)“設(shè)計(jì)-測試-整改”的串行模式因周期長、成本高,難以滿足AI服務(wù)器、8...

關(guān)鍵字: 高速數(shù)字電路 EMC

新能源汽車產(chǎn)業(yè)向高功率、智能化加速演進(jìn)中,電磁兼容性(EMC)標(biāo)準(zhǔn)已成為保障充電系統(tǒng)安全與互聯(lián)互通的核心基石。從早期以GB/T 18487為代表的通用標(biāo)準(zhǔn)體系,到如今以ChaoJi技術(shù)為載體的下一代標(biāo)準(zhǔn),中國主導(dǎo)的充電系...

關(guān)鍵字: 新能源汽車 EMC

電源入口是電磁干擾(EMI)傳導(dǎo)與輻射的關(guān)鍵路徑,無論是消費(fèi)電子、工業(yè)控制還是新能源汽車領(lǐng)域,電源線上的高頻噪聲若未得到有效抑制,不僅會(huì)通過傳導(dǎo)干擾影響其他設(shè)備,還可能通過空間輻射形成電磁污染。π型濾波器與磁珠作為電源入...

關(guān)鍵字: 電源入口 EMC

在現(xiàn)代電子設(shè)備中,開關(guān)電源系統(tǒng)以其高效、緊湊等諸多優(yōu)勢,成為各類設(shè)備不可或缺的供電部分。然而,開關(guān)電源工作過程中產(chǎn)生的電磁干擾(EMI)問題,嚴(yán)重影響了產(chǎn)品的電磁兼容性(EMC)。本文將圍繞開關(guān)電源系統(tǒng)產(chǎn)品 EMC 展開...

關(guān)鍵字: 開關(guān)電源 電磁干擾 EMC

在直流電機(jī)驅(qū)動(dòng)系統(tǒng)中,電磁兼容性(EMC)設(shè)計(jì)是保障設(shè)備穩(wěn)定運(yùn)行的核心環(huán)節(jié)。電機(jī)啟停、換向及負(fù)載突變產(chǎn)生的瞬態(tài)過電壓和浪涌電流,可能通過電源線或信號線傳導(dǎo)至控制電路,引發(fā)器件損壞或誤動(dòng)作。TVS二極管與壓敏電阻作為兩種主...

關(guān)鍵字: 直流電機(jī)驅(qū)動(dòng) EMC
關(guān)閉