freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于dsp數(shù)據(jù)采集系統(tǒng)的設計-閱讀頁

2025-07-12 17:19本頁面
  

【正文】 MHz,否則芯片將不能正常工作。CY7C68013用自己的片內(nèi)晶振電路和一個外部24MHz晶振組成系統(tǒng)的時鐘電路。內(nèi)部計數(shù)器把24MHz的頻率分頻為內(nèi)部8051需要的默認的12MHz的時鐘頻率。系統(tǒng)的時鐘電路如圖35所示。剛剛給芯片上電時,F(xiàn)2812芯片處于復位狀態(tài)。系統(tǒng)中手動復位的電路如圖36所示。XRS還是看門狗復位輸出管腳,當看門狗產(chǎn)生復位時,DSP將該引腳驅(qū)動為低電平,看門狗產(chǎn)生復位期間,低電平將持續(xù)512個XCLKIN周期。作為硬件復位的一部分,所有當前操作均被放棄,流水線被清除,CPU的寄存器 都進行復位,然后復位中斷向量被取回,從而執(zhí)行相應的中斷服務程序。需要注意的是,當器件復位時,總是從向量表中獲取復位向量。這個電路 也同時為68013芯片提供了復位信號。TI DSP芯片提供上仿真支持,使CCS能控制程序的運行并實時監(jiān)視程序的活動。一般情況下,在系統(tǒng)成功應用之前,我們要做大量的調(diào)試工作,以確保板卡和軟件程序正常工作,為了方便軟件調(diào)試,JTAG接口尤為重要,只有JTAG接口設置好,才能通過仿真器被CCS識別,從而進行大量的訪真測試實驗。在保證電路設計正確的前提下,還要注意以下幾點:1.要求安裝仿真器的計算機與DSP應用系統(tǒng)可靠共地。3.正確的操作順序是:先退出計算機系統(tǒng)的訪真窗口,然后再將DSP應用板斷電,否則可能出現(xiàn)仿真器不能正常運行的情況。本系統(tǒng)使用的是TMS320F2812芯片,我們先介紹一下該芯片的資源分配狀況和地址空間分配圖,之后,根據(jù)系統(tǒng)的要求,設計出外擴存儲器的配置方案。為了提高執(zhí)行速度,本文設計的系統(tǒng)在調(diào)試時將程序空間映射到內(nèi)部空間中。F2812芯片的CPU并不包含任何存儲器,但是可以通過多總線訪問芯片內(nèi)部或外部擴展的存儲器。F2812芯片包含兩個單周期快速仿問的存儲器,M0和M1。復位狀態(tài)下,堆棧指針指向M1模塊的起始位置。F2812還包含一塊16K16位的單周期訪問的RAM存儲器(SRAM),這部分存儲器被分為3塊,分別是L0(4K),L1(4K),H0(8K)。在本文設計的系統(tǒng)中將H0映射到程序區(qū),M0、M1和H0的一部分映射到數(shù)據(jù)區(qū)。Boot Loader 軟件根據(jù)引擎引導模式(Boot Mode)信號確定上電時的引導裝載方式。引導成功后,通過軟件使能內(nèi)部的ROM,以便可以訪問存放在ROM中的外部空間。在一些器件上,倆區(qū)的片選信號在內(nèi)部“與”在一起,組成一個共享的芯片選擇。5個區(qū)中每一個區(qū)還可以用指定的等待狀態(tài)數(shù)、選通信號建立和保持時間進行編程。另外,每個區(qū)都可以用XREADY信號去擴展外部的等待狀態(tài)或者不擴展,可編程等待狀態(tài)、芯片選擇和可編程選通時間使得接口與外部存儲器及外設相脫離。該引腳的復位狀態(tài)決定boot ROM還是XINTF 7區(qū)被使能1.若復位時XMP/MC=1(微處理器模式mircroprocessor mode),則7區(qū)被使能,從外部存儲器去引導復位向量。2.若復位時XMP/MC=0(微計算機模式microputer mode),則boot ROM被使能,而XINTF7區(qū)不被使能。復位后,對MP/MC的配置可以通過寫XINTFCNF2寄存器的狀態(tài)位來改變。Boot ROM映射到Zone7空間時,Zone7空間的存儲器仍然可以訪問,這主要是因為Zone7和Zone6公用一個片選信號。圖38 外部接口框圖 外擴存儲器接口設計在數(shù)據(jù)處理系統(tǒng)中,必須具有大容量數(shù)據(jù)存儲器、掉電不丟失數(shù)據(jù)RAM等存儲功能模塊,以保證實時監(jiān)測數(shù)據(jù)及斷電狀態(tài)下供電可靠性指標的監(jiān)測。這里外擴了一片SRAM芯片IS61LV51216,該芯片是512K16bit的高速CMOS靜態(tài)存儲器,存取速度為12ns。這種器件可以按照8位或16位的方式使用,它與DSP的連接示意圖如圖39所示。這里我們選用了16位的存儲器IS61LV51216,在存儲數(shù)據(jù)時可直接將相鄰的兩個8位數(shù)據(jù)一起傳送到片外存儲器中進行存放。IS6lLV51216可與TMS320F2812芯片箭腳直接連接,只需將SRAM的地址線、數(shù)據(jù)線與F2812的地址線、數(shù)據(jù)線相連接,并輔以片選線和控制線選中該芯片即可。GPIOA0設置為輸出,用來控制USB的同步時鐘,只在同步模式時使用;GPIOAl設置為輸出,控制USB的寫時序;GPIOA2控制USB的硬提交管腳,USB的SlaveFIFO模式默認512個字節(jié)作為一個傳輸包,若分包傳輸后剩余數(shù)據(jù)不足一個包,可將此信號置0,實現(xiàn)剩余數(shù)據(jù)的硬提交;GPIOA3和GPIOA4設為輸出選通USB傳輸時使用的通道;GPIOA5和GPIOA6分別與USB的滿、空信號相連,監(jiān)測USB的FIFO中的數(shù)據(jù)是否為滿。在上位機處理采集數(shù)據(jù)時,DSP要不斷的把大量的采集并處理好的16位數(shù)據(jù)通過USB接口傳到上位機中,USB采用SLAVE FIFO模式,適合大數(shù)據(jù)量的通信。FD[0~15]FLAGBFLAGCFIFOADDR1FIFOADDR0PKTENDSLWRIFCLKURXD0UTXD0GPIOB[0~15]GPIOA6GPIOA5GPIOA4GPIOA3GPIOA2GPIOA1GPIOA0SCITXDBSCIRXDB圖310 DSP和USB的接口示意圖 本章小結(jié)本章小結(jié)本章詳細論述了系統(tǒng)的硬件電路的設計方法。其次給出了系統(tǒng)的電源電路、時鐘電路、FLAG接口電路、復位電路等外圍電路的設計原理和電路圖。最后根據(jù)系統(tǒng)數(shù)據(jù)傳輸?shù)奶攸c,設計了DSP和USB的傳輸接口電路。第4章 系統(tǒng)的軟件設計 系統(tǒng)的開發(fā)環(huán)境 CCS開發(fā)環(huán)境CCS開發(fā)環(huán)境第四章系統(tǒng)的軟件設計DSP部分的軟件設計是在CCS2.2()環(huán)境下運行的。CCS支持如圖41所示的開發(fā)周期的所有階段。只需要在菜單View中選擇M恢Source/Asm選項,即可看到C之后跟著的匯編語句。工程中包含有源代碼、目標文件、庫文件、連接命令文件和頭文件。而且CCS能自動查找工程所需要的頭文件,并將它加入到工程中。 設置一個或者多個斷點;178。 使用Watch窗口查看變量;178。 使用Probe Pointg工具在主機與目標系統(tǒng)間傳輸數(shù)據(jù)流;178。 使用ProfilePoint查看執(zhí)行統(tǒng)計信息;178。 CCS還提供GEL語言,允許開發(fā)者向CCS菜單中增加功能。CCS提供支持實時分析的DSP/BIOS插件,可以用它來實時跟蹤和監(jiān)視一個DSP應用程序,同時對實時性能的影響達到最小。 程序跟蹤:顯示寫入目標日志的事件,并在程序執(zhí)行過程中反映動態(tài)控制流程。 性能監(jiān)控:跟蹤統(tǒng)計目標板資源的使用情況,如處理器負載和線程時序等。 文件流:將目標板上的I/O對象與主機上的文件聯(lián)系在一起。在進行硬件電路調(diào)試時,要通過XDS系列硬件仿真器,從而使CCS與目標板(PCB板)相連。 USB的固件開發(fā)環(huán)境USB的固件開發(fā)環(huán)境USB部分的固件設計是在Keilu Version2的環(huán)境下實現(xiàn)的。通過這個軟件可以編譯工程中的C源碼,匯編工程中的匯編源程序,連接和重定位工程中的目標文件和庫文件,創(chuàng)建HEX文件,調(diào)試目標程序。 創(chuàng)建一個項目從器件庫中選擇目標器件配置工具設置178。 用項目管理器生成你的應用178。 測試連接應用。Keil C51編譯器完全遵照ANSIC語言標準支持C語言的所有標準特性,另外,直接支持8051結(jié)構(gòu)的幾個特性被添加到里面。uVision2源代碼級調(diào)試器是一個理想的快速可靠的程序調(diào)試器,此調(diào)試器包含一個高速模擬器,能夠模擬整個8051系統(tǒng)包括片上外圍器件和外部硬件。 DSP部分的軟件設計利用C語言編寫DSP程序時,可能會遇到一些對實時性要求很高或是對DSP的底層資源進行操作的場合,這些場合若單純利用C語言實現(xiàn)會變得非常困難或是根本沒法實現(xiàn),因此用Nc語言和匯編語言混合編程。如需要對F2812的INTM進行關中斷、開中斷時,可以直接在C語言中插入如下代碼:asm(“SETC INTM”);以上代碼實現(xiàn)設置INTM位為l,即關中斷功能。需要注意的是,使用關鍵字asm時,C語言編譯器不會對其內(nèi)容進行任何檢查,匯編語言的首列一定不能是匯編指令,因此在上述的匯編指令SETC前需要加入空格,否則編譯會出錯。圖42 DSP數(shù)據(jù)采集和處理程序設計流程圖在對系統(tǒng)進行軟件設計之前,我們先對系統(tǒng)的工作流程有個比較清楚的了解,下面簡單介紹一下:1.上位機發(fā)出采集命令經(jīng)USB芯片給DSP,肩動采集命令。3.DSP驅(qū)動電機,觸發(fā)要采集的信號,同時軟件啟動DSP的序列發(fā)牛器進行數(shù)據(jù)轉(zhuǎn)換。5.當采集完成后,DSP將采集的數(shù)據(jù)通過USB芯片傳到上位機中。系統(tǒng)的軟件設計包括DSP程序的初始化部分、采集處理部分和USB部分。USB部分的編程則要將采集數(shù)據(jù)送入PC機中,交由上位機程序?qū)?shù)據(jù)進行具體的分析處理。 系統(tǒng)的初始化程序設計DSP的初始化是設定DSP芯片工作狀態(tài)的重要步驟,只有正確進行DSP的初始化,才能保證芯片的正確運行。DSP在執(zhí)行應用程序前必須要進行軟件初始化,主要是因為DSP在RESET后,許多的寄存器的初值一般同用戶的要求不一致,例如:等待寄存器,SP,中斷定位寄存器等,需要通過初始化程序設置為用戶要求的數(shù)值。在運行C程序之前,必須創(chuàng)建C運行環(huán)境。運行時支持源庫()。以上調(diào)用將自動實現(xiàn)。然而在復位時這并不會自動設置硬件到指向c_into的向量。如果在加載時為初始化變量(cr選項),則加載器在程序運行之前執(zhí)行該步驟。下面是部分初始化程序,代碼初始段和看門狗初始化程序。在一次定時器中斷中可以根據(jù)需要設定ADC中斷的次數(shù),實現(xiàn)中斷嵌套,完成整個系統(tǒng)的采集。ADCINAI由采樣和保持器A來采樣,ADCINBl由采樣保持器B來采樣。采樣和保持器A轉(zhuǎn)換結(jié)果保存到當前的ADCRESULT0寄存器。ADC CLOCK通道采樣窗口同步可測SH時鐘ADC觸發(fā)信號CONV00CONV00CONV01CLOCKSOCC1C2SSC1C2圖43 同步采樣模式(SMODE=1)在級聯(lián)模式下,SEQl能在一次排序過程中對多達16個通道進行排序轉(zhuǎn)換。每個排序中的轉(zhuǎn)換個數(shù)受MAXCONVn影響,一次自動排序完成的轉(zhuǎn)換數(shù)為(MAxCONVn+1),所以,在本文設計的系統(tǒng)中設置為5,對6路模擬值進行采樣,其中一路接地,只在數(shù)據(jù)存儲區(qū)存儲(AUTO_SEQ_SR)的排序計數(shù)器控制位(SEQ_CNTR3~0),MAX CONVn的值在0~15范圍內(nèi)變化。一旦SEQ CNTR0遞減到0,根據(jù)寄存器ADCTRLl中連續(xù)運行狀態(tài)位(CONTRUN)的不同,會出現(xiàn)兩種情況:第一種情況,本文設計的系統(tǒng)中,CON_RUN置l,為連續(xù)轉(zhuǎn)換模式,一次轉(zhuǎn)換序列完成后,轉(zhuǎn)換序列重新自動開始,SEQ CNTRn裝入最初的MAX CONVl的值,并且SEQI通道指針指向CONv00。如圖44所示,CONT_RUN=1時的ADC采樣流程圖,由于本文設計的系統(tǒng)采樣頻率并不是很高,采樣的數(shù)據(jù)量又比較大,所以選用連續(xù)的自動排序模式。為了在下一個啟動時重復排序操作,在下一個SOC到來之前必須使用RSTSEQn位復位排序器。這些錯誤包括DSP檢測到的電機的錯誤,或者采集數(shù)據(jù)范圍出錯等等,比如01H表示下一個目標采樣啟動,02H表示數(shù)據(jù)完整采集,22H表示數(shù)據(jù)丟失此次采集失敗……這些錯誤代碼的制定是為了及時檢查系統(tǒng)運行過程中可能出現(xiàn)的錯誤,并找到確切的原因,從而更好的維護硬件系統(tǒng)和正確的采集數(shù)據(jù)。SCI內(nèi)部產(chǎn)生的串行時鐘由低速外設時鐘LSPCLK頻率和波特率選擇寄存器確定。SCI波特率由下列公式計算: SCI=LSPCLK/(BRR+1)8其中,BRR的值是16位波特率選擇寄存器內(nèi)的值。由于我們通過SCI僅用來與USB傳輸命令,數(shù)據(jù)量很小因此我們將波特率設低一些,來保證傳輸?shù)臏蚀_性。另外,由于用到串行接口B,在系統(tǒng)初始化的時候要將SCIB的時序置1打開。 DSP與USB通信部分的軟件控制程序在本文設計的系統(tǒng)中,DSP需要不斷的把大量的采集并處理好的16位數(shù)據(jù)通過USB接口傳到上位機中,對于大量的采集數(shù)據(jù)的傳輸則采用F2812芯片的GPIO口將16位的數(shù)據(jù)傳送到68013自帶的FIFO中,讀寫時序如圖45所示。同時,DSP也會不斷檢測FIFO的滿信號(FLAG_C),只有在數(shù)據(jù)緩沖區(qū)不滿的時候,即FLAG_C為1時才能往FIFO里面寫數(shù)據(jù)。int n=0。idata_len。} FD[0:15]=data[n]。//延時50nsUSB_WR=0。USB_WR=1。n++。//硬提交以保證數(shù)據(jù)的完整性……FIFOADR0USB_FULLUSB_WRUSB_EMPTY 命令文件的編寫及程序的優(yōu)化命令文件實現(xiàn)對程序存儲器空間和數(shù)據(jù)存儲器空間的分配。DSP用“段”管理程序和數(shù)據(jù),編譯時“段”是浮動的,需要用鏈接器重新定位。實用鏈接器必須要知道硬件資源,即實際的物理存儲空間的分配情況。鏈接器調(diào)用命令文件解決以上問題,命令文件一般由三部分構(gòu)成:1.輸入/輸出:。3.SECTIONS指令描述“段”的實際定位。在所設計的系統(tǒng)中,外擴了一個51216位的RAM外部存儲器,把程序存儲空間燒寫在內(nèi)部FLASH存儲器空間中(在調(diào)試的時候放在內(nèi)部存儲空間中),數(shù)據(jù)空間放在外擴的RAM中,以下是部分為系統(tǒng)編寫的命令文件。但對于處理速度有比較苛刻要求的實時應用系統(tǒng)來說,程序設計的首要目標就是提高效率,代碼的可理解性可放在第二位。通常用C語言開發(fā)實時DSP軟件要經(jīng)歷以下三步:1.用C語言編寫程序,目標集中在程序的正確性和清晰上。3.對于速度要求苛刻的代碼,將優(yōu)化后的C程序轉(zhuǎn)換為匯編程序,進一步優(yōu)化。應該指出,許多DSP的C編譯器都提供代碼優(yōu)化能力,但是C編譯器的優(yōu)化不是從方法和結(jié)構(gòu)上改進程序,它對代碼效率只能有部分的改善。周期數(shù)越少,代碼效率或運行速度越高。在對C程序優(yōu)化之前必須先分析代碼,分析時應注意不要忽略代碼段中可能出現(xiàn)的中斷轉(zhuǎn)移
點擊復制文檔內(nèi)容
黨政相關相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1