久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久


曙海教育集團(tuán)論壇DSP專區(qū)DSP系統(tǒng)和硬件開發(fā)討論區(qū) → DSP/BIOS在嵌入式數(shù)據(jù)采集系統(tǒng)中的應(yīng)用


  共有8745人關(guān)注過本帖樹形打印

主題:DSP/BIOS在嵌入式數(shù)據(jù)采集系統(tǒng)中的應(yīng)用

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
DSP/BIOS在嵌入式數(shù)據(jù)采集系統(tǒng)中的應(yīng)用  發(fā)帖心情 Post By:2010-11-13 12:09:29

1 引言 數(shù)據(jù)采集系統(tǒng)在工業(yè)測(cè)控以及試驗(yàn)室研究方面的應(yīng)用非常廣泛。隨著科學(xué)技術(shù)的發(fā)展,數(shù)據(jù)采集技術(shù)被普遍認(rèn)為是現(xiàn)代科學(xué)研究和技術(shù)發(fā)展的一個(gè)重要方面:一方面,數(shù)據(jù)采集系統(tǒng)正向著高精度、高速度、穩(wěn)定可靠和集成化的方向發(fā)展;另一方面,數(shù)據(jù)采集系統(tǒng)也向著實(shí)時(shí)系統(tǒng)方向發(fā)展,特別是邏輯和時(shí)序要求比較高的系統(tǒng)。 本文介紹的嵌入式數(shù)據(jù)采集系統(tǒng)采用dsp/bios實(shí)現(xiàn)系統(tǒng)的實(shí)時(shí)響應(yīng)和調(diào)度。系統(tǒng)介紹了硬件系統(tǒng)設(shè)計(jì)結(jié)構(gòu),并說明了dsp/bios在系統(tǒng)中的應(yīng)用,最后闡述了系統(tǒng)的自啟動(dòng)實(shí)現(xiàn)。 2 系統(tǒng)的硬件結(jié)構(gòu) 在本系統(tǒng)中,采用ti的高端dsp芯片—tms320c6205作為系統(tǒng)的cpu,外圍擴(kuò)展同步動(dòng)態(tài)ram和異步靜態(tài)rom(flash),并帶有數(shù)據(jù)采集緩沖系統(tǒng)fifo,cpu通過自身的外圍接口直接連接到pci總線上,實(shí)現(xiàn)系統(tǒng)與主機(jī)的實(shí)時(shí)通訊。系統(tǒng)結(jié)構(gòu)圖如圖1。 在系統(tǒng)運(yùn)行過程中,視頻輸入信號(hào)由fifo緩沖后送入dsp的外圍擴(kuò)展sdram,經(jīng)dsp處理后輸出到pci接口及總線與上位機(jī)通訊。sdram主要保存系統(tǒng)實(shí)時(shí)運(yùn)行的程序和臨時(shí)數(shù)據(jù),flash保存系統(tǒng)的啟動(dòng)及處理程序和一些配置參數(shù)。外圍jtag接口不僅可以對(duì)系統(tǒng)進(jìn)行調(diào)試,還可以實(shí)現(xiàn)實(shí)時(shí)輸出信號(hào)處理的結(jié)果。 3 dsp/bios實(shí)時(shí)系統(tǒng) dsp/bios可以看作一個(gè)準(zhǔn)實(shí)時(shí)操作系統(tǒng),主要是為需要實(shí)時(shí)調(diào)度和同步以及主機(jī)/目標(biāo)機(jī)系統(tǒng)通信和實(shí)時(shí)監(jiān)測(cè)的應(yīng)用而設(shè)計(jì)的。dsp/bios支持的ti dsp芯片的各種實(shí)時(shí)操作系統(tǒng)都是以dsp/bios作為底層軟件,為嵌入式應(yīng)用提供基本的運(yùn)行服務(wù)。此外,它還能通過系統(tǒng)中的jtag接口實(shí)時(shí)獲取目標(biāo)機(jī)的信息,并傳送到上位機(jī)對(duì)應(yīng)用程序進(jìn)行實(shí)時(shí)分析。 dsp/bios提供的運(yùn)行服務(wù)包括基于優(yōu)先級(jí)的任務(wù)調(diào)度、中斷處理和io服務(wù)。在軟件開發(fā)階段,它為實(shí)時(shí)應(yīng)用提供底層軟件,節(jié)約實(shí)驗(yàn)室開發(fā)時(shí)間。dsp/bios的數(shù)據(jù)獲取、統(tǒng)計(jì)和事件記錄功能在軟件調(diào)試階段和主機(jī)的ccs(code composer studio,ti發(fā)布的集成開發(fā)環(huán)境)內(nèi)的分析工具配合,可以完成對(duì)應(yīng)用程序的實(shí)時(shí)探測(cè)、跟蹤和監(jiān)控,與rtdx技術(shù)和ccs的可視化工具相配合,除了可以直接實(shí)時(shí)顯示原始數(shù)據(jù)外,還可以對(duì)原始數(shù)據(jù)進(jìn)行處理,如實(shí)時(shí)fft頻譜分析等。 dsp/bios由3部分組成:(1)dsp/bios實(shí)時(shí)多任務(wù)內(nèi)核;(2)api、dsp/bios實(shí)時(shí)分析工具;(3)dsp/bios配置工具。 3.1 dsp/bios實(shí)時(shí)內(nèi)核和api dsp/bios api被分為多個(gè)模塊,根據(jù)應(yīng)用程序模塊的配置和使用情況的不同,dsp/bios的代碼為500字到6500字不等。應(yīng)用程序通過調(diào)用api來使用dsp/bios,所有dsp/bios的api都是以c可調(diào)用的形式提供的。只要遵從c的調(diào)用約定,匯編代碼也可以調(diào)用dsp/bios的api。 本系統(tǒng)中要用到dsp/bios實(shí)時(shí)內(nèi)核中的csl(chip support library)調(diào)用板級(jí)支持包,調(diào)用gbl(global setting manager)對(duì)系統(tǒng)的環(huán)境進(jìn)行加載,調(diào)用hwi(hardware interrupt manager)對(duì)系統(tǒng)需要用到的硬件中斷進(jìn)行設(shè)置,調(diào)用swi(software interrupt manager)對(duì)系統(tǒng)的軟件中斷進(jìn)行設(shè)置。對(duì)用到實(shí)時(shí)數(shù)據(jù)交換的地方還需要調(diào)用rtdx(real-time data exchange setting)對(duì)交換模塊進(jìn)行設(shè)置。 3.2 dsp/bios配置工具 dsp/bios配置工具有一個(gè)類似windows資源管理器的界面,它具有兩個(gè)功能:一個(gè)是在運(yùn)行時(shí)設(shè)置dsp/bios庫使用的一系列參數(shù);一個(gè)是作為一個(gè)可視編輯器,創(chuàng)建被dsp應(yīng)用程序調(diào)用的dsp/bios api函數(shù)時(shí)所使用的運(yùn)行對(duì)象,這些對(duì)象包括軟件中斷、任務(wù)、io流及是件日志等。 本系統(tǒng)中在調(diào)試時(shí)需要用到軟件仿真環(huán)境,這些環(huán)境的參數(shù)需要在配置工具中設(shè)定具體的參數(shù),比如sdram的大小、類型,dsp的外部設(shè)備硬件中斷號(hào)設(shè)定,信息處理程序的軟件中斷設(shè)定等。使用配置工具,dsp/bios的對(duì)象可以事先配置好并和應(yīng)用程序綁定在一起,比運(yùn)行是動(dòng)態(tài)建立這些對(duì)象有更高的響應(yīng)速度。 3.3 dsp/bios實(shí)時(shí)分析工具 dsp/bios分析工具可以輔助ccs環(huán)境實(shí)現(xiàn)程序的實(shí)時(shí)調(diào)試,以可視化的方式觀察程序的性能,并且不影響應(yīng)用程序的運(yùn)行。dsp/bios分析工具可以通過選擇ccs菜單dsp/bios打開。 與傳統(tǒng)的調(diào)試方法不同的是,程序的實(shí)時(shí)分析要求在目標(biāo)處理器上運(yùn)行監(jiān)測(cè)代碼。使用dsp/bios的api和對(duì)象,可以自動(dòng)監(jiān)測(cè)目標(biāo)處理器,采集實(shí)時(shí)信息并通過ccs分析工具上傳到主機(jī)。實(shí)時(shí)分析包括:程序跟蹤、性能監(jiān)測(cè)和文件服務(wù)等。 4 基于dsp/bios的程序開發(fā) dsp/bios支持交互式的程序開發(fā)模式,可以先為應(yīng)用程序生成一個(gè)框架,在使用實(shí)際算法之前給程序加上一個(gè)仿真的運(yùn)行負(fù)荷來測(cè)試程序。在dsp/bios環(huán)境下可以方便的修改線程的優(yōu)先級(jí)和類型。 4.1 dsp/bios下一個(gè)程序的開發(fā)過程 在dsp/bios下一個(gè)程序的開發(fā)過程如下: (1) 用配置工具建立應(yīng)用程序要用到的對(duì)象; (2) 保存配置文件,保存的同時(shí)會(huì)生成在編譯和鏈接應(yīng)用程序時(shí)所包括的文件; (3) 為應(yīng)用程序編寫一個(gè)框架,可以使用c、c 、匯編語言或這些語言的任意組合; (4) 在ccs環(huán)境下編譯并鏈接程序; (5) 使用仿真器(或者使用硬件平臺(tái)原型)和dsp/bios分析工具來測(cè)試應(yīng)用程序; (6) 重復(fù)上述步驟直至程序運(yùn)行正確; (7) 當(dāng)正式產(chǎn)品硬件開發(fā)好后,修改配置文件來支持產(chǎn)品硬件并測(cè)試。 4.2 dsp/bios對(duì)象的動(dòng)態(tài)建立、引用和刪除 在程序開發(fā)過程中,經(jīng)常會(huì)動(dòng)態(tài)建立新的dsp/bios對(duì)象、動(dòng)態(tài)引用dsp/bios對(duì)象或者刪除dsp/bios對(duì)象。通過xxx_create函數(shù)可以建立大部分dsp/bios對(duì)象,但不是全部對(duì)象,有些對(duì)象只能在配置工具中創(chuàng)建。每個(gè)xxx_create函數(shù)都可以為對(duì)象的內(nèi)部狀態(tài)信息分配存儲(chǔ)空間,并返回一個(gè)指向新建對(duì)象的句柄,這樣xxx模塊的其他函數(shù)就可以使用這個(gè)句柄引用這個(gè)新建的對(duì)象。下面的一段代碼是建立并初始化pro對(duì)象的過程: #include pro_attrs attrs; pro_handle process; attrs=pro_attrs; attrs.name-#quot;reader#quot;; attrs.priority=pro_minpri; process=pro_create((fxn)foo,#attrs); xxx_create函數(shù)所返回的指向某個(gè)對(duì)象的句柄可以作為引用該對(duì)象的參數(shù)傳遞給其他函數(shù),例如傳遞給xxx_delete函數(shù)來刪除對(duì)象,代碼如下: pro_delete(process); 5 系統(tǒng)啟動(dòng)的實(shí)現(xiàn) 系統(tǒng)啟動(dòng)包括兩部分:系統(tǒng)上電引導(dǎo)和dsp/bios啟動(dòng)。上電完成后dsp運(yùn)行部分由dsp/bios來控制。 5.1 系統(tǒng)上電引導(dǎo) ti c6000系列dsp可以有3種上電引導(dǎo)方式,包括不加載、rom加載和主機(jī)加載等。其中不加載是cpu直接從地址0處開始執(zhí)行代碼。主機(jī)加載是在引導(dǎo)過程中,外部主機(jī)通過主機(jī)接口初始化cpu的存儲(chǔ)空間,主機(jī)完成所有的初始化工作后,向接口控制寄存器的dspint位寫1,結(jié)束引導(dǎo)過程,cpu退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。主機(jī)加載有三種方式,即hpi接口加載、擴(kuò)展總線加載和pci總線加載。 在本系統(tǒng)中,為了保持系統(tǒng)的獨(dú)立性,把加載系統(tǒng)放在外部rom中,實(shí)現(xiàn)rom加載。rom加載過程為:位于外部ce1空間的rom中的代碼(從首地址開始的64kb數(shù)據(jù))首先通過dma(或者edma)被搬入地址0處。加載過程在復(fù)位信號(hào)撤銷之后完成,此時(shí)cpu內(nèi)部保持復(fù)位狀態(tài),由dma(或者edma)執(zhí)行1個(gè)單幀的數(shù)據(jù)塊傳輸。傳輸完成后,cpu退出復(fù)位狀態(tài),開始執(zhí)行地址0處的指令。對(duì)tms320c6205來說,用戶可以指定外部加載rom的存儲(chǔ)寬度,emif(外部存儲(chǔ)器接口)會(huì)自動(dòng)將相鄰的6bit/16bit數(shù)據(jù)打包成32bit的指令,并且rom中的程序必須按little-endian的模式存儲(chǔ)。 5.2 dsp/bios啟動(dòng) autoinit.c和boot.snn文件決定了dsp/bios應(yīng)用程序的啟動(dòng)序列,這些文件是由庫bios.ann和bioss.ann提供的。啟動(dòng)過程包括一下幾步: (1) 初始化dsp:dsp/bios程序從入口點(diǎn)c_int00開始運(yùn)行,復(fù)位中斷向量指向c_int00地址。對(duì)于tms320c6205來說,堆棧指針(b15)和全局指針(b14)被初始化指向.stack段的末尾和.bss段的開始。控制寄存器amr、ier和csr也被初始化。 (2) 用.cinit段中的記錄來初始化.bss段:堆棧建立好后,初始化例程用.cinit段中的記錄初始化全局變量。 (3) 調(diào)用bios_init初始化dsp/bios模塊:bios_init執(zhí)行基本的模塊初始化,然后調(diào)用mod_init宏分別初始化每個(gè)用到的模塊。如hwi_init初始化有關(guān)中斷的寄存器。 (4) 處理.pinit表:.pinit表包含了初始化函數(shù)的指針 (5) 調(diào)用應(yīng)用程序主程序main函數(shù):在所有dsp/bios模塊初始化之后,調(diào)用main函數(shù)。此時(shí)硬件中斷和軟件中斷都是禁止的,應(yīng)用程序可以在此添加自己的初始化代碼。 (6) 調(diào)用bios_start啟動(dòng)dsp/bios:bios_start函數(shù)是由配置工具產(chǎn)生的,包含在programcfg.snn文件中,它負(fù)責(zé)使能dsp/bios模塊并為每個(gè)用到的模塊調(diào)用mod_startup宏使其開始工作。 在這些工作完成之后,dsp/bios調(diào)用idl_loop引導(dǎo)程序進(jìn)入dsp/bios空閑循環(huán),此時(shí)硬件和軟件中斷可以搶先空閑循環(huán)的執(zhí)行,主機(jī)也可以和目標(biāo)機(jī)之間開始數(shù)據(jù)傳輸。 6 結(jié)束語 dsp/bios在整個(gè)目標(biāo)模板上主要起到兩方面的作用:其一是實(shí)現(xiàn)主機(jī)調(diào)試環(huán)境對(duì)目標(biāo)模板上運(yùn)行的應(yīng)用程序的實(shí)時(shí)監(jiān)察和控制,其二是實(shí)現(xiàn)各線程之間的調(diào)度和線程間的通信。將dsp/bios應(yīng)用于數(shù)據(jù)采集板上dsp應(yīng)用程序的設(shè)計(jì)不但能夠縮短開發(fā)周期,而且因?yàn)閐sp/bios的多線程機(jī)制使得應(yīng)用程序的功能得到了徹底的分化,所以在這種情況下,當(dāng)原程

支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

DSP/BIOS在嵌入式數(shù)據(jù)采集系統(tǒng)中的應(yīng)用








簽名
主站蜘蛛池模板: 国产在线视频网址 | 国产欧美日韩在线 | 精品久久一区二区三区 | 美女张开腿让男人 | 国产精品精品国产一区二区 | 成人手机看片 | 国产精品久久毛片 | 成年人毛片网站 | 欧美成人全部免费观看1314色 | 欧美一级特黄高清免费 | 国内精品久久久久久久久 | 亚洲成a人片在线观看中文!!! | 欧美在线成人午夜网站 | 欧美视频在线一区 | 日韩色视频一区二区三区亚洲 | 一区二区三区免费在线观看 | 成人毛片免费观看视频大全 | 国产日韩欧美精品一区二区三区 | 目韩一区二区三区系列片丶 | 神马三级我不卡 | 久草最新在线 | 精品一区二区三区在线观看l | 韩国三级日本三级香港三级黄 | 富二代精品视频 | 国内一级野外a一级毛片 | 国产精品欧美亚洲日本综合 | 午夜伦4480yy妇女久久久 | 亚洲久草在线 | 国产精品午夜性视频网站 | 久草手机在线播放 | 亚欧国产| 国产精品综合一区二区 | 亚洲国产精品久久久久秋霞不卡 | 久久精品视频大全 | 成人国产三级在线播放 | 日本三级成人午夜视频网 | 自拍偷自拍亚洲精品一区 | 特级黄色毛片在放 | 国产91香蕉 | 欧美视频精品一区二区三区 | 黄色视影|