www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]摘要:介紹了FreeARM7 IP核的基本概況及其接口特點(diǎn),以LPC2101為原型對(duì)該IP核進(jìn)行了擴(kuò)展。結(jié)合USB 1.1設(shè)備控制器IP核和自定制硬件邏輯,構(gòu)建了一種微控制器功能驗(yàn)證回路。在主機(jī)端開(kāi)發(fā)了驗(yàn)證程序、驅(qū)動(dòng)和通信軟件。

摘要:介紹了FreeARM7 IP核的基本概況及其接口特點(diǎn),以LPC2101為原型對(duì)該IP核進(jìn)行了擴(kuò)展。結(jié)合USB 1.1設(shè)備控制器IP核和自定制硬件邏輯,構(gòu)建了一種微控制器功能驗(yàn)證回路。在主機(jī)端開(kāi)發(fā)了驗(yàn)證程序、驅(qū)動(dòng)和通信軟件。驗(yàn)證程序下栽執(zhí)行結(jié)果表明,功能驗(yàn)證回路工作正常,微處理器運(yùn)行穩(wěn)定。
關(guān)鍵詞:FteeARM7;LPC2101;微處理器;USB

1 FreeARM7 IP核簡(jiǎn)介
    FreeARM微處理器的ARM7系列(簡(jiǎn)稱FreeARM7)首發(fā)于www.socvista.com,由Free-arm聯(lián)合其他ARM愛(ài)好者基于ARMv4架構(gòu)開(kāi)發(fā)而成。整個(gè)
IP核代碼采用可綜合的Verilog HDL描述,接口簡(jiǎn)單,描述精煉,全部代碼不超過(guò)2000行。在整體設(shè)計(jì)上,采用了三級(jí)流水線和哈佛結(jié)構(gòu),全面兼容各種中斷和操作指令(除Thumb和協(xié)處理器指令)。經(jīng)過(guò)評(píng)估可知,該IP核基于FPGA和SMIC工藝庫(kù)都有很好的實(shí)現(xiàn)結(jié)果。
    FreeARM7接口定義如表1所列,概括起來(lái)可分為4類:
    ◆系統(tǒng)接口,提供系統(tǒng)控制信號(hào);
    ◆中斷源,提供ARM架構(gòu)需要的5個(gè)中斷信號(hào);
    ◆ROM接口,與提供指令的ROM之間的接口;
    ◆單口RAM接口,與單口RAM和外設(shè)之間數(shù)據(jù)交互的接口。


    其中,單口RAM接口可以實(shí)現(xiàn)兩類用途:一、掛接單口RAM,使得FreeARM7能夠正確地讀寫(xiě)數(shù)據(jù);二、掛接外設(shè),使得FteeARM7能夠正確操作外設(shè)。

2 微處理器改進(jìn)與邏輯擴(kuò)展
    基于FreeARM7的微處理器改進(jìn)與邏輯擴(kuò)展的結(jié)構(gòu)如圖1所示。預(yù)期的實(shí)現(xiàn)目標(biāo)是:在主機(jī)上編寫(xiě)嵌入式程序匯編成機(jī)器碼后,經(jīng)過(guò)USB 1.1設(shè)備控制器傳輸至雙端口RAM中,在微處理器代碼下載模式下,代碼下載控制邏輯將雙端口RAM中的機(jī)器代碼裝載至ROM中,之后啟動(dòng)微處理器正常工作模式,微處理器執(zhí)行ROM中的嵌入式代碼,接收主機(jī)通過(guò)USB傳送來(lái)的參數(shù)值,并將運(yùn)行結(jié)果通過(guò)USB返回至主機(jī)。


    基于Cyclone II FPGA具體實(shí)現(xiàn)時(shí),ROM、RAM和雙端口RAM都是利用Quartus II軟件中MegaWizardPlug-In.Manager工具例化相應(yīng)的存儲(chǔ)模塊,而其他硬件邏輯的擴(kuò)展都是以IP核(Verilog描述)的形式出現(xiàn)。
2.1 微處理器lP核改進(jìn)
    FreeARM7 IP核是微處理器的核心部分,不能直接作為微處理器使用,其原因是數(shù)據(jù)總線需要讀取ROM內(nèi)的數(shù)據(jù)、本文選擇Philips公司32位ARM7微處理器LPC2101作為原型設(shè)計(jì)。LPC2101帶有適當(dāng)?shù)拇鎯?chǔ)資源,內(nèi)嵌2 KB片內(nèi)靜態(tài)RAM和8 KB的Flash存儲(chǔ)器,且軟件可移植性好,工作可靠。參考LPC2101工作原理,當(dāng)FreeARM7的輸出信號(hào)ram_addr的最高4位為4'b0時(shí),表示數(shù)據(jù)總線需要讀取ROM的數(shù)據(jù)。為解決該問(wèn)題,新增一個(gè)wrap文件lpc2101_arm.v完成該功能。它的作用是:當(dāng)ram_addr[31:28]==4'b0時(shí),該邏輯直接從rom_en、rom_addr、rom_data的接口中讀取ROM數(shù)據(jù),送入ram rdata。
2.2 USB1.1設(shè)備控制器
    本文選用的USB設(shè)備控制器是課題組早期項(xiàng)目之一,它是由Opencores網(wǎng)站提供的初級(jí)開(kāi)源版本改進(jìn)而成,其結(jié)構(gòu)如圖2所示。IP核支持低速和全速模式,共有1個(gè)控制傳輸端點(diǎn)(EP0)、7個(gè)其他可配置端點(diǎn),且缺少微處理器也能響應(yīng)主機(jī)對(duì)設(shè)備的枚舉。收發(fā)器電路主要完成模/數(shù)信號(hào)轉(zhuǎn)換,即在OUT事物中將模擬信號(hào)D+和D-轉(zhuǎn)換成串行接口引擎模塊可識(shí)別的數(shù)字信號(hào)rxd、rxdp和rxdn,在IN事物中將數(shù)字信號(hào)txdp和
txdn在使能信號(hào)txoe的控制下轉(zhuǎn)換成模擬信號(hào)D+和D-;串行接口引擎模塊主要完成收發(fā)包,根據(jù)傳輸方向可分為接收和發(fā)送,主要包括總線檢測(cè)、同步檢測(cè)、時(shí)鐘恢復(fù)、不歸零反向編碼和解碼、位填充及位去除、數(shù)據(jù)的串/并轉(zhuǎn)換;協(xié)議層包括協(xié)議引擎態(tài)機(jī)、組包、解包、FIFO控制器;端點(diǎn)O控制器主要負(fù)責(zé)響應(yīng)主機(jī)標(biāo)準(zhǔn)請(qǐng)求;描述符RAM存儲(chǔ)了設(shè)備的各種描述符;其他端點(diǎn)控制器及FIFO提供了配置接口,目的是預(yù)留給開(kāi)發(fā)者進(jìn)行IP核移植。


2.3 代碼下載控制邏輯
    該邏輯主要功能是在代碼下載模式下,將雙端口RAM中的匯編程序轉(zhuǎn)移到ROM中,其主要任務(wù)是產(chǎn)生讀雙端口RAM使能信號(hào)和地址信號(hào),以及寫(xiě)ROM的使能信號(hào)和地址信號(hào)。在硬件邏輯中通過(guò)計(jì)數(shù)器實(shí)現(xiàn)。當(dāng)系統(tǒng)復(fù)位或退出代碼下載模式時(shí),計(jì)數(shù)器:rom_wr_cnt清零,否則當(dāng)USB接收完一個(gè)包(64字節(jié))后,置計(jì)數(shù)器使能信號(hào)cnt_vld有效,rom_wr_cnt開(kāi)始計(jì)數(shù)。cnt_vld直接作為讀雙端口RAM的使能信號(hào),cnt_vld兩級(jí)緩存后作為寫(xiě)ROM的使能信號(hào)。同時(shí),rom_wr_cnt的低8位直接作為讀雙端口RAM的地址信號(hào),rom_wr_cnt計(jì)算結(jié)果經(jīng)過(guò)兩級(jí)緩存后作為寫(xiě)ROM的地址信號(hào)。當(dāng)64字節(jié)轉(zhuǎn)移完畢后,置cnt_vld無(wú)效,此時(shí)rom_wr_cnt鎖存當(dāng)前值,等待下一個(gè)包接收完畢后再次置cnt_vld有效,代碼下載控制邏輯就將下一個(gè)包的數(shù)據(jù)追加到ROM中,反復(fù)進(jìn)行就完成了代碼經(jīng)由USB接口下載至ROM中。

3 嵌入式代碼的開(kāi)發(fā)
3.1 uVision3.63環(huán)境設(shè)置
    利用μVision3.63新建一個(gè)工程,選擇器件類型為NXP(founded by Philips)系列的LPC2101,在默認(rèn)工程環(huán)境的基礎(chǔ)上做如下確認(rèn):
    ①在“output”選項(xiàng)卡中選中“Create HEX Flie”,確保產(chǎn)生可供下載的機(jī)器碼。
    ②在“Target”選項(xiàng)卡中選擇Code Generation為“ARM-Mode”,確保以ARM指令集為依據(jù)產(chǎn)生機(jī)器碼。
    ③在“C/C++”和“Asm”選項(xiàng)卡中分別去選“EnableARM/Thumb Interworking”,確保生成的代碼只包含ARM指令。


3.2 Bootloader的設(shè)置
    Bootloader啟動(dòng)一般分為兩個(gè)階段。第一階段主要包含依賴于微處理器的體系結(jié)構(gòu)硬件初始化的代碼,設(shè)置堆棧并跳轉(zhuǎn)到第二階段的C程序入口點(diǎn),通常采用匯編語(yǔ)言來(lái)實(shí)現(xiàn)。第二階段通常用C語(yǔ)言完成,以便實(shí)現(xiàn)更復(fù)雜的功能,也使程序有更好的可讀性和可移植性。在μVision3.63軟件自帶的示例工程“Hello”中,通過(guò)下面3行代碼實(shí)現(xiàn)了兩個(gè)階段的工作交接:

    由于本文討論的微處理器只是在FreeARM7基礎(chǔ)之上做了一些基本的擴(kuò)展,微處理器的體系結(jié)構(gòu)硬件單一,因此第一階段主要是對(duì)堆棧位置和大小進(jìn)行設(shè)置。對(duì)USB接口的初始化在第二階段的C程序中進(jìn)行,初始化程序如下:



4 微處理器的功能驗(yàn)證
    在完成前面的工作之后,借助FPGA對(duì)微處理器進(jìn)行了功能驗(yàn)證。選用Altera公司DE2開(kāi)發(fā)板作為硬件邏輯的實(shí)現(xiàn)載體,微處理器IP核工作時(shí)鐘為開(kāi)發(fā)板上27 MHz晶振輸入,USB控制器IP核工作時(shí)鐘為27 MHz晶振倍頻至48 MHz。功能驗(yàn)證流程如圖3所示,在主機(jī)上利用μVision 3.63編寫(xiě)、編譯驗(yàn)證程序后,微處理器進(jìn)入下載模式接收主機(jī)對(duì)設(shè)備的代碼下載,之后進(jìn)入用戶模式接收主機(jī)端傳送的驗(yàn)證程序參數(shù)值,在運(yùn)行代碼后將執(zhí)行結(jié)果返回至主機(jī),通過(guò)與主機(jī)軟件模擬結(jié)果比較達(dá)到驗(yàn)證微處理器運(yùn)行結(jié)果的目的。


4.1 驗(yàn)證程序開(kāi)發(fā)
    數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)是著名的對(duì)稱密鑰分組密碼,它由美國(guó)標(biāo)準(zhǔn)FIPS 46-2定義?;?strong>ARM7指令系統(tǒng),DES的C語(yǔ)言實(shí)現(xiàn)難度不大,但它是對(duì)IP核工作能力的一次綜合檢驗(yàn)。將DES算法分解為密鑰生成算法和加解密算法,對(duì)應(yīng)驗(yàn)證程序中兩個(gè)子函數(shù),其最終的代碼實(shí)現(xiàn)框架如下:

   
4.2 主機(jī)驅(qū)動(dòng)與通信軟件開(kāi)發(fā)
    Windows驅(qū)動(dòng)程序模型(Windows Driver Model,WDM)旨在提供一種靈活的方式來(lái)簡(jiǎn)化各種驅(qū)動(dòng)程序的開(kāi)發(fā),實(shí)現(xiàn)對(duì)新硬件的支持,降低驅(qū)動(dòng)程序開(kāi)發(fā)的復(fù)雜度。基于WDM采用Driver Studio開(kāi)發(fā)USB驅(qū)動(dòng)程序,會(huì)自動(dòng)生成一個(gè)驅(qū)動(dòng)程序框架,在此基礎(chǔ)上添加讀寫(xiě)管道即可完成驅(qū)動(dòng)程序的開(kāi)發(fā)。
    USB通信軟件采用MFC編寫(xiě),主要功能有:將.hex文件以十六進(jìn)制的形式發(fā)送至USB接收USB返回的數(shù)據(jù),并以十六進(jìn)制的形式顯示。采用DES程序標(biāo)準(zhǔn)測(cè)試向量,其中初始密鑰K=1A624(289520DEC46,明文P=748502CD38451097,密文C=DDOCFEB783CF3FDE,在通信軟件中代碼下載及驗(yàn)證數(shù)據(jù)的收發(fā)如圖4所示。按照上述原理,還編寫(xiě)了其他若干驗(yàn)證程序并下載至ROM中,微控制器的執(zhí)行結(jié)果均正確。

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

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關(guān)鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠(yuǎn)通信宣布,其自研藍(lán)牙協(xié)議棧DynaBlue率先通過(guò)藍(lán)牙技術(shù)聯(lián)盟(SIG)BQB 6.1標(biāo)準(zhǔn)認(rèn)證。作為移遠(yuǎn)深耕短距離通信...

關(guān)鍵字: 藍(lán)牙協(xié)議棧 移遠(yuǎn)通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實(shí)黨中央、國(guó)務(wù)院和上海市委、市政府關(guān)于加快發(fā)展人力資源服務(wù)業(yè)的決策部署,更好發(fā)揮人力資源服務(wù)業(yè)賦能百業(yè)作用,8月29日,以"AI智領(lǐng) HR智鏈 靜候你來(lái)&quo...

關(guān)鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達(dá)成合作,為其自主研發(fā)的"旗馭車管"車輛運(yùn)營(yíng)管理平臺(tái)提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺(tái)對(duì)百余家企業(yè)客戶的運(yùn)營(yíng)管理效率...

關(guān)鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關(guān)鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會(huì)、上海市發(fā)展和改革委員會(huì)、上海市商務(wù)委員會(huì)、上海市教育委員會(huì)、上海市科學(xué)技術(shù)委員會(huì)指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會(huì)展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動(dòng)駕駛

推進(jìn)卓越制造,擴(kuò)大產(chǎn)能并優(yōu)化布局 蘇州2025年9月5日 /美通社/ --?耐世特汽車系統(tǒng)與蘇州工業(yè)園區(qū)管委會(huì)正式簽署備忘錄,以設(shè)立耐世特亞太總部蘇州智能制造項(xiàng)目。...

關(guān)鍵字: 智能制造 BSP 汽車系統(tǒng) 線控

慕尼黑和北京2025年9月4日 /美通社/ -- 寶馬集團(tuán)宣布,新世代首款量產(chǎn)車型BMW iX3將于9月5日全球首發(fā),9月8日震撼亮相慕尼黑車展。中國(guó)專屬版車型也將在年內(nèi)與大家見(jiàn)面,2026年在國(guó)內(nèi)投產(chǎn)。 寶馬集團(tuán)董事...

關(guān)鍵字: 寶馬 慕尼黑 BSP 數(shù)字化

北京2025年9月4日 /美通社/ --?在全球新一輪科技革命與產(chǎn)業(yè)變革的澎湃浪潮中,人工智能作為引領(lǐng)創(chuàng)新的核心驅(qū)動(dòng)力,正以前所未有的深度與廣度重塑各行業(yè)發(fā)展格局。體育領(lǐng)域深度融入科技變革浪潮,駛?cè)霐?shù)字化、智能化轉(zhuǎn)型快車...

關(guān)鍵字: 人工智能 智能體 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企業(yè)在上海聯(lián)合發(fā)起并成功舉辦"2025 Ethernet-APL 技術(shù)應(yīng)用發(fā)展大會(huì)"。會(huì)議以"破界?融合...

關(guān)鍵字: ETHERNET 智能未來(lái) BSP 工業(yè)通信
關(guān)閉