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

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件

引 言

  隨著通信技術(shù)的發(fā)展,出現(xiàn)越來越多的無線接人技術(shù),為了解決不同標(biāo)準(zhǔn)間的互通和兼容,人們提出了軟件無線電( Defined Radio,SDR)技術(shù)。SDR技術(shù)要求通信終端具有可重配置能力,根據(jù)特定通信網(wǎng)絡(luò)情況,動(dòng)態(tài)地改變調(diào)制/解調(diào)、編解碼、交織/解交織等方案。SDR終端的實(shí)現(xiàn)往往都是基于可重配置的硬件環(huán)境,如現(xiàn)場(chǎng)可編程邏輯陣列(Field Programmable Array,)、數(shù)字信號(hào)處理器( Signal Processor,DSP),而不是專用集成電路(Application Specific Integrated ,)等特定的硬件電路和芯片。在線配置(In Sys—tem ,ISP)或者動(dòng)態(tài)配置就是一種重要的SDR實(shí)現(xiàn)技術(shù)。本文介紹作者開發(fā)實(shí)現(xiàn)的一種基于ARM的嵌入式下通過JTAG接口動(dòng)態(tài)配置的方法。

  系統(tǒng)使用三星公司基于的處理器芯片,公司CycloneII系列的 FPGA芯片,ARM處理器上運(yùn)行基于裁剪后的嵌入式系統(tǒng),內(nèi)核版本為2.4.18。

  1 FPGA的配置方式及配置文件

  公司CycloneII系列FPGA芯片,是公司推出的基于90 nm工藝制造、低成本的FPGA,主要面向數(shù)字終端、手持設(shè)備等對(duì)成本敏感的應(yīng)用領(lǐng)域。擁有68 416個(gè)邏輯單元,115 200位RAM,150個(gè)乘法器模塊,是CycloneII系列處理能力最強(qiáng)的芯片。與大部分FPGA一樣,CycloneII系列FPGA的配置信息保存在中,掉電后就丟失配置信息,每次上電后需要重新配置。CycloneII系列FPGA支持3種配置方式:主動(dòng)串行(AS)方式、被動(dòng)串行(PS)方式、JTAG方式。

  在主動(dòng)串行和被動(dòng)串行兩種方式中,F(xiàn)PGA芯片支持在配置過程中對(duì)配置數(shù)據(jù)進(jìn)行解壓縮,也就是配置數(shù)據(jù)可以采用壓縮格式存放;而使用JTAG配置時(shí),F(xiàn)PGA芯片不支持解壓縮過程,不能采用壓縮格式的配置數(shù)據(jù)。

  不同的配置方式,往往要求不同格式的配置文件。使用Altera公司提供的QuartusII集成開發(fā)環(huán)境可以生成各種配置文件。QuartusII默認(rèn)產(chǎn)生.sof和.pof格式的配置文件,基于ARM的嵌入式中對(duì)FPGA進(jìn)行JTAG下載,必須使用.jam或者.jbc格式的配置文件。

  2 JTAG接口工作方式

  JTAG接口是一個(gè)業(yè)界標(biāo)準(zhǔn),主要用于芯片測(cè)試和配置等功能,使用 Std 1149.1聯(lián)合邊界掃描接口引腳。JTAG最初用于芯片功能的測(cè)試,其工作原理是在器件內(nèi)部定義一個(gè)測(cè)試訪問端口( ,TAP),通過專用的JTAG測(cè)試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測(cè)試和調(diào)試。TAP是一個(gè)通用的端口,外部控制器通過TAP可以訪問芯片提供的所有數(shù)據(jù)寄存器和指令寄存器?,F(xiàn)在JTAG接口還常用于芯片的在線配置,對(duì)PLD、等器件進(jìn)行配置。為了完成系統(tǒng)的調(diào)試,任何原型系統(tǒng)都支持JTAG配置方式,因而JTAG配置也就成為最廣泛支持的配置方式。不同廠商和不同型號(hào)的絕大部分FPGA芯片都支持JTAG配置方式。在Altera公司的FPGA芯片中,JTAG配置方式比任何一種配置方式的優(yōu)先級(jí)都高。JTAG允許多個(gè)器件通過JTAG接口串聯(lián)在一起,形成一個(gè)JTAG鏈,實(shí)現(xiàn)對(duì)各個(gè)器件分別測(cè)試和配置。

  JTAG接口由4個(gè)必需的信號(hào)TDI、TD0、TMS和TCK,以及1個(gè)可選信號(hào)TRST構(gòu)成。

  3 Jam STAPL套件

  在嵌入式Linux環(huán)境中,使用JTAG接口配置FP—GA,必須使用標(biāo)準(zhǔn)測(cè)試與編程語言(Standard And Language,STAPL)標(biāo)準(zhǔn)。STAPL是一種專門用于描述可編程邏輯設(shè)備(Programmable De—,PLD)配置文件的編程語言,由EIA/JEDEC組織制定標(biāo)準(zhǔn)。使用STAPL描述的配置文件具有通用性,獨(dú)立于PLD生產(chǎn)廠商。

  Jam STAPL是Altera公司提供的支持STAPL的套件。使用Jam STAPL進(jìn)行配置包含兩部分,Jam (Jam解釋器或者稱為Jam虛擬機(jī))和Jam配置文件。Jam 運(yùn)行在微處理器中,讀取Jam文件并解析Jam文件表達(dá)的內(nèi)容,在JTAG接口上產(chǎn)生用于配置的二進(jìn)制數(shù)據(jù)流并讀取反饋數(shù)據(jù)。

  Jam STAPL的工作方式如圖l所示。利用PLD廠商提供的集成開發(fā)環(huán)境Jam Composer,可以產(chǎn)生Jam配置文件(該文件包含目標(biāo)沒備、應(yīng)用數(shù)據(jù)等完整配置信息,與廠商和配置平臺(tái)無關(guān))。然后使用Jam 解釋并產(chǎn)生JTAG配置數(shù)據(jù),對(duì)JTAG鏈中的各個(gè)設(shè)備進(jìn)行配置。

  使用Jam STAPL進(jìn)行配置時(shí),針對(duì)不用的應(yīng)用和不同的目標(biāo)設(shè)備(不同型號(hào)或者不同廠商),只需要改變Jam配置文件,而無需改變Jam Player。因?yàn)镴am Player不包含任何與應(yīng)用或者設(shè)備相關(guān)的信息,它只負(fù)責(zé)解析Jam配置文件中的內(nèi)容。它的工作方式與編程語言非常相似,Jam P1ayer相當(dāng)于虛擬機(jī),而Jam文件相當(dāng)于編譯之后的字節(jié)碼文件(.class文件)。Jam配置文件有兩種格式:

  ①文本格式文件,也就是用STAPL描述的配置源文件,文件后綴名是.jam。該格式便于閱讀和理解,但由于采用文本編碼,體積較大。

 ?、谧止?jié)碼(—)格式文件,STAPL源文件編譯好之后的字節(jié)碼文件,文件后綴名是“.jbc”。對(duì)于同樣的配置信息,該格式比.jam格式體積小,節(jié)省存儲(chǔ)空間;其缺點(diǎn)是,無法直接閱讀其中的配置信息。

  與之對(duì)應(yīng),Jam Player也有兩種:普通Jam Player,負(fù)責(zé)對(duì).jam文件的解釋;Jam 一 Player,負(fù)責(zé)對(duì).jbc文件的解釋。從AItera官方網(wǎng)站上可以免費(fèi)下載到用C語言編寫的兩種Player源代碼。

  4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

  4.1 系統(tǒng)硬件設(shè)計(jì)

  系統(tǒng)硬件連接方案如圖2所示。系統(tǒng)中只使用JTAG配置方式,所以與AS、PS相關(guān)的nCONFIG、MSELO和MSEL1引腳都不使用,而將nCONFIG拉高,MSELO和MSEL1接地。DATA0和引腳可以任意配置,在這里都接地。使用的通用引腳GPB7、GPB8、GPB9、GPBlO引腳分別作為JTAG接口的TMS、TDl、TCK和TDO。

  4.2 系統(tǒng)軟件設(shè)計(jì)

  4.2.1 生成Jam配置文件

  使用Jam STAPL進(jìn)行JTAG配置,需要有Jam配置文件。集成開發(fā)環(huán)境QuartusII默認(rèn)生成的是.sol和.pof格式的配置文件,要生成.jam和.jbc文件,可以使用2種方法:

  第1種方法,在工程編譯之前設(shè)置QuartusII的生成配置文件選項(xiàng)。在QuartusII的主菜單中,選擇【Assign—ments】→【【)e】菜單,進(jìn)入【Setting】窗口,單擊“De&.Pin Options…”按鈕,在彈出的對(duì)話框中選擇“Program—ming Files”標(biāo)簽,在該標(biāo)簽頁中選擇.jam或者.jbc文件格式,單擊“0K”按鈕即可。

  第2種方法,編譯完成后利用QuartusII自帶的文件格式轉(zhuǎn)換工具,將.sof或.pof文件轉(zhuǎn)換為.jam或.jbc文件類型。在QuartusII的主菜單中,選擇【File】→【Convert Flies】菜單,進(jìn)入【Convert ProgrammingFiles】窗口。在該窗口的“Programming file "’中選擇.jam或者.jbc類型,在“File ”中指定文件保存路徑和文件名(默認(rèn)使用與.sof或.pof同路徑同名),最后單擊“OK”按鈕,即可生成.jam或者.jbc配置文件。

  4.2.2 移植Jam Player

  Altera公司提供的Jam Player源程序文件包含了DOS、Windows和三種平臺(tái)的代碼。在類似的Linux平臺(tái)中使用,必須進(jìn)行定制和移植。

  Jam Player源程序組織結(jié)構(gòu)如圖3所示。與配置平臺(tái)的I/O處理相關(guān)的功能都安排在jbis—tub.c文件中,使用Jam Player的用戶只需要根據(jù)平臺(tái)和硬件環(huán)境修改jbistub.c中的函數(shù),而不需要修改的文件。


將Jam Player移植到嵌入式Linux中,主要進(jìn)行下列的定制:

  ①更改平臺(tái)預(yù)定義環(huán)境,添加預(yù)處理語句,去除不必要的源代碼;

 ?、趯TAG信號(hào)映射到具體硬件引腳;

  ③定制錯(cuò)誤信息輸出方式;

 ?、芨鶕?jù)具體微處理器的處理能力,定制延時(shí)函數(shù)。

  關(guān)于更詳細(xì)的定制和移植過程可參考文獻(xiàn)[7]和[8]。

  為了幫助Jam Player移植過程,Altera公司提供了調(diào)試和驗(yàn)證使用的idcode文件。該文件有.jam格式和.jbc格式,分別供移植普通Jam Player和Jam 一Player使用。其功能都是讀取目標(biāo)設(shè)備的IDCODE(每種型號(hào)的FPGA芯片都有一個(gè)與其一一對(duì)應(yīng)的IDC0DE,可參見芯片的數(shù)據(jù)手冊(cè))。如果移植成功,Jam Player會(huì)將讀取的IDCODE和對(duì)應(yīng)的芯片型號(hào)打印出來;否則輸出詳細(xì)的相關(guān)錯(cuò)誤信息,以供調(diào)試使用。

  4.2.3 JTAG驅(qū)動(dòng)程序

  由于Jam Player運(yùn)行在嵌入式Linux環(huán)境中,無法直接訪問ARM芯片的引腳寄存器,也就無法直接操作引腳的輸入輸出。所以還必須為用于JTAG接口的引腳編寫驅(qū)動(dòng)程序,將它們封裝成Jam Player可以讀寫的字符型文件。

  該驅(qū)動(dòng)遵守普通Linux字符型文件驅(qū)動(dòng)編寫規(guī)則,無需向系統(tǒng)申請(qǐng)中斷和實(shí)現(xiàn)中斷函數(shù),最關(guān)鍵的就是對(duì)引腳讀寫時(shí),要符合JTAG接口引腳的時(shí)序控制。JTAG接口的引腳時(shí)序如圖4所示。從圖中可知,對(duì)于ARM的JTAG接口,TDI和TMS輸出信號(hào)是在TCK時(shí)鐘信號(hào)的下降沿鎖存的,而TDO反饋信號(hào)是在TCK時(shí)鐘信號(hào)的上升沿有效。

  在驅(qū)動(dòng)程序中,與操作系統(tǒng)的write和調(diào)用相對(duì)應(yīng)的jtag_write和jtag_的函數(shù)如下(這兩個(gè)函數(shù)實(shí)現(xiàn)了JTAG輸入輸出信號(hào)的具體操作過程):

  Jam Player中調(diào)用該驅(qū)動(dòng)時(shí),在buffer中只提供TMS和TDI信號(hào),如圖5(a)所示。根據(jù)硬件設(shè)計(jì),系統(tǒng)使用的是S3C24lO的GPB端口的7、8、9、10引腳,GPB數(shù)據(jù)寄存器(GPBDAT)的結(jié)構(gòu)如圖5(b)所示。所以將buffer[0]的內(nèi)容寫到GPBDAT寄存器時(shí),需要左移7位;讀取TDO信號(hào)時(shí),僅需返回第10位數(shù)據(jù)。

  4.2.4 JTAG在線配置的性能和時(shí)間

  由于使用JTAG配置不支持配置信息的壓縮形式,JTAG配置的時(shí)間只與目標(biāo)芯片的型號(hào)有關(guān),而與具體應(yīng)用無關(guān)。我們?cè)赑C系統(tǒng)中已驗(yàn)證:一個(gè)源程序?yàn)?0行的與門操作應(yīng)用和一個(gè)源程序超過6 000行的802.16物理層實(shí)現(xiàn)的應(yīng)用,在QuartusII中使用JTAG下載時(shí),下載配置的時(shí)間相同。

  根據(jù)上述嵌入式系統(tǒng)設(shè)計(jì),Jam Player運(yùn)行在基于S3C2410處理器的Linux環(huán)境中,時(shí)鐘頻率為200 MHz,一次配置的時(shí)間約為70 s。在相同的Jam Player運(yùn)行環(huán)境下,盡管不同應(yīng)用的Jam文件的大小不同,其配置時(shí)間是一樣的。要減少配置時(shí)間,可以有3種方法:一是提高運(yùn)行Jam Player系統(tǒng)的CPU速率;二是修改JamPlayer源程序的代碼,使其執(zhí)行效率更高;三是根據(jù)自身系統(tǒng)設(shè)計(jì),在滿足JTAG引腳時(shí)序的前提下,減少驅(qū)動(dòng)程序的延時(shí)操作。

  結(jié) 語

  本設(shè)計(jì)實(shí)現(xiàn)了一種基于ARM處理器的、在嵌入式Linux系統(tǒng)下通過FPGA的JTAG接口對(duì)其進(jìn)行在線配置的方案。該方法設(shè)計(jì)簡(jiǎn)單,只需將JTAG的4個(gè)必需引腳連接;成本低廉,無需額外的配置芯片和設(shè)備(如AlteraEPC系列和系列);使用靈活,通過ARM對(duì)FPGA進(jìn)行在線配置;系統(tǒng)無需重啟就可動(dòng)態(tài)更新FPGA應(yīng)用。在我們的實(shí)驗(yàn)系統(tǒng)環(huán)境中,一次配置的時(shí)間約為70s。

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

在數(shù)字化浪潮席卷全球的今天,F(xiàn)PGA技術(shù)正成為驅(qū)動(dòng)創(chuàng)新的核心引擎。2025年8月21日,深圳將迎來一場(chǎng)聚焦FPGA技術(shù)與產(chǎn)業(yè)應(yīng)用的盛會(huì)——2025安路科技FPGA技術(shù)沙龍。本次沙龍以“定制未來 共建生態(tài)”為主題,匯聚行業(yè)...

關(guān)鍵字: FPGA 核心板 開發(fā)板

在現(xiàn)代電子系統(tǒng)中,現(xiàn)場(chǎng)可編程門陣列(FPGA)憑借其開發(fā)時(shí)間短、成本效益高以及靈活的現(xiàn)場(chǎng)重配置與升級(jí)等諸多優(yōu)點(diǎn),被廣泛應(yīng)用于各種產(chǎn)品領(lǐng)域。從通信設(shè)備到工業(yè)控制,從汽車電子到航空航天,F(xiàn)PGA 的身影無處不在。為了充分發(fā)揮...

關(guān)鍵字: 可編程門陣列 FPGA 數(shù)字電源

2025年8月4日 – 提供超豐富半導(dǎo)體和電子元器件?的業(yè)界知名新品引入 (NPI) 代理商貿(mào)澤電子 (Mouser Electronics) 即日起開售Altera?的Agilex? 3 FPGA C系列開發(fā)套件。此開...

關(guān)鍵字: FPGA 邊緣計(jì)算 嵌入式應(yīng)用

內(nèi)窺鏡泛指經(jīng)自然腔道或人工孔道進(jìn)入體內(nèi),并對(duì)體內(nèi)器官或結(jié)構(gòu)進(jìn)行直接觀察和對(duì)疾病進(jìn)行診斷的醫(yī)療設(shè)備,一般由光學(xué)鏡頭、冷光源、光導(dǎo)纖維、圖像傳感器以及機(jī)械裝置等構(gòu)成。文章介紹了一款基于兩片圖像傳感器和FPGA組成的微型3D內(nèi)...

關(guān)鍵字: 微創(chuàng) 3D內(nèi)窺鏡 OV6946 FPGA

運(yùn)用單片機(jī)和FPGA芯片作為主控制器件 , 單片機(jī)接收從PC機(jī)上傳過來的顯示內(nèi)容和顯示控制命令 , 通過命令解釋和數(shù)據(jù)轉(zhuǎn)換 , 生成LED顯示屏所需要的數(shù)據(jù)信號(hào)和同步的控制信號(hào)— 數(shù)據(jù)、時(shí)鐘、行同步和面同步 。FPGA芯...

關(guān)鍵字: 單片機(jī) FPGA LED顯示屏

在當(dāng)今數(shù)字化時(shí)代,汽車不再僅僅是一種交通工具,更是一個(gè)移動(dòng)的智能空間。隨著人們對(duì)汽車電子設(shè)備依賴程度的不斷提高,車內(nèi) USB 接口的重要性也日益凸顯。從最初單純?yōu)槭謾C(jī)充電,到如今支持?jǐn)?shù)據(jù)傳輸、連接各種智能設(shè)備,USB 接...

關(guān)鍵字: 接口 數(shù)據(jù)傳輸 汽車供電

根據(jù)Semico Research的預(yù)測(cè),到2025年RISC-V芯片出貨量將達(dá)到624億顆,覆蓋計(jì)算、消費(fèi)電子和工業(yè)等領(lǐng)域。而在這其中,RISC-V MCU是整個(gè)RISC-V生態(tài)的基本盤,以高質(zhì)量、應(yīng)用驅(qū)動(dòng)的解決方案為...

關(guān)鍵字: 青稞 RISC-V 沁恒 接口 MCU

在異構(gòu)計(jì)算系統(tǒng)中,ARM與FPGA的協(xié)同工作已成為高性能計(jì)算的關(guān)鍵架構(gòu)。本文基于FSPI(Fast Serial Peripheral Interface)四線模式,在150MHz時(shí)鐘頻率下實(shí)現(xiàn)10.5MB/s的可靠數(shù)據(jù)...

關(guān)鍵字: ARM FPGA FSPI

在全球FPGA市場(chǎng)被Xilinx(AMD)與Intel壟斷的格局下,國(guó)產(chǎn)FPGA廠商高云半導(dǎo)體通過構(gòu)建自主IP核生態(tài)與智能時(shí)序約束引擎,走出差異化高端化路徑。本文深入解析高云半導(dǎo)體FPGA工具鏈的兩大核心技術(shù)——全棧IP...

關(guān)鍵字: FPGA 高云半導(dǎo)體

2025年6月12日,由安路科技主辦的2025 FPGA技術(shù)沙龍?jiān)谀暇┱秸匍_,深圳市米爾電子有限公司(簡(jiǎn)稱:米爾電子)作為國(guó)產(chǎn)FPGA的代表企業(yè)出席此次活動(dòng)。米爾電子發(fā)表演講,并展出米爾基于安路飛龍派的核心板和解決方案...

關(guān)鍵字: FPGA 核心板 開發(fā)板
關(guān)閉