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

正文內(nèi)容

基于arm的數(shù)據(jù)采集系統(tǒng)(編輯修改稿)

2024-07-19 04:05 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 采集變成硬件采集,ARM只需要設(shè)置好采集所需要的各種相關(guān)寄存器,然后啟動(dòng)FPGA工作。此種設(shè)計(jì)減輕了ARM的負(fù)擔(dān),同時(shí)也提高了采集速度和數(shù)據(jù)采集的實(shí)時(shí)性。 擴(kuò)展板的電源電路相對(duì)于核心板而言更為復(fù)雜,擴(kuò)展板的輸入電壓為直流24V而整個(gè)系統(tǒng)要用到的電壓分別為:、5V、V和V等。所以為了得到上述電壓,應(yīng)采用相應(yīng)的DCDC電壓轉(zhuǎn)換模塊。 同ARM相比較FPGA的I/。其DCDC轉(zhuǎn)換器都是采用的AMS1117系列,其電路設(shè)計(jì)同前述的核心板電路采用同樣的方式。在此不再重復(fù),請(qǐng)參考前面的電路圖。 由于擴(kuò)展板的直接輸入電壓為直流24V,所以為了得到5V和V的電壓,在設(shè)計(jì)時(shí)采用了單刀雙擲開關(guān)。 單刀雙擲開關(guān)控制的電源電路 圖中的兩個(gè)DCDC轉(zhuǎn)換模塊采用的是北京匯眾公司生產(chǎn)24V轉(zhuǎn)5V和24V轉(zhuǎn)V模塊。當(dāng)輸入的是+24V電壓時(shí),模塊1,2兩端分別輸入的是GND_24P,VDD24;當(dāng)輸入的是24V電壓時(shí),模塊1,2兩端分別輸入的是VDD24N,GND_24N. 為了得到V電壓,可以通過V轉(zhuǎn)換到V,采用的DCDC模塊是線形穩(wěn)壓器LM7812和LM7912。 LM7812和LM7912連接電路圖 UART接口電路 串口主要是用于通信的,串口負(fù)責(zé)打印一些必要的調(diào)試信息和交互一些人機(jī)命令以及完成大固件程序的下載和升級(jí)。另外由于串行RS232的電平和S3C44B0X的I/O口電平不同,電平的轉(zhuǎn)換使用了串行接口芯片MAX3232。 串口接口電路 FPGA控制電路FPGA能實(shí)現(xiàn)邏輯控制,響應(yīng)速度快,效率高。本設(shè)計(jì)采用了ALTERA公司CYCLONE系列的EP1C6T144I7芯片??梢詫?shí)現(xiàn)RAM﹑ROM﹑雙口RAM或FIFO功能,使得此款芯片適合有存儲(chǔ)和緩沖功能需要的數(shù)據(jù)采集系統(tǒng)[7]。FPGA作為AD的控制器是受控于ARM的。由于ARM對(duì)外圍存儲(chǔ)器和寄存器是統(tǒng)一編址,所以只要將BANK0~BANK5的某個(gè)片選與FPGA片選相連就可將FPGA映射至其某一段區(qū)域,本系統(tǒng)中將FPGA映射到0x02000000~0x04000000地址處,即FPGA片選與ARM的nGCS1相連接。ARM通過對(duì)外部寄存器的讀寫操作,使外部地址總線和數(shù)據(jù)總線產(chǎn)生了相應(yīng)的寄存器地址數(shù)據(jù)和命令字,完成對(duì)FPGA的發(fā)指令操作。FPGA檢測(cè)到外部讀寫信號(hào)后,使能內(nèi)部的存儲(chǔ)器和寄存器進(jìn)行相應(yīng)的操作。FPGA與ARM通信的數(shù)據(jù)總線端口是一個(gè)雙向I/O口,在ARM未對(duì)FPGA操作的時(shí)候,保持該端口為高阻態(tài),使FPGA內(nèi)部數(shù)據(jù)鎖存。由于FPGA引腳眾多在此不作詳細(xì)的描述,具體應(yīng)用方式可參考EP1C6T144I7芯片的數(shù)據(jù)手冊(cè)。FPGA不同于CPLD,它是基于SRAM結(jié)構(gòu)設(shè)計(jì),掉電易丟失數(shù)據(jù),需外接配置芯片。當(dāng)系統(tǒng)上電后,數(shù)據(jù)自動(dòng)加載到FPGA。此處的配置芯片選用的是EPCS1(1Mbit)。 EPCS1接口電路 FPGA代碼是放在配置芯片EPCS1中,對(duì)于代碼的下載可通過ByteBlasterMV或ByteBlasterII通信電纜。 ByteBlasterMV和ByteBlasterII接口電路 FPGA經(jīng)過一系列配置和運(yùn)算,就可以進(jìn)行數(shù)據(jù)采集了。通過Verilog語言在FPGA內(nèi)部實(shí)現(xiàn)了異步FIFO,這樣就可以把采集到的數(shù)據(jù)先保存到FPGA內(nèi)部數(shù)據(jù)緩存區(qū)FIFO里。當(dāng)達(dá)到FIFO半滿值或者一個(gè)采集周期結(jié)束時(shí),產(chǎn)生外部中斷由ARM來響應(yīng)中斷??紤]到AD采樣的寫FIFO速度與ARM讀FIFO速度不一致,所以選擇異步FIFO作為緩存來實(shí)現(xiàn)不同時(shí)鐘域間的接口。將FIFO的深度設(shè)置為4096個(gè)字節(jié),當(dāng)FIFO中的數(shù)據(jù)達(dá)到2048個(gè)字節(jié)時(shí)(即半滿狀態(tài))產(chǎn)生外部中斷。ARM在中斷處理程序中把數(shù)據(jù)取走,: ARM與FPGA通信原理圖 ARM通過配置FPGA的各種寄存器來發(fā)布控制命令,因此根據(jù)實(shí)際系統(tǒng)的需要,設(shè)計(jì)了9個(gè)寄存器分別滿足不同的邏輯控制:系統(tǒng)控制﹑系統(tǒng)狀態(tài)﹑FIFO數(shù)據(jù)﹑脈沖調(diào)制等寄存器。這些寄存器對(duì)于ARM的訪問可分為:只讀和可讀可寫。ARM的主控程序先完成相應(yīng)寄存器控制字的設(shè)置,然后啟動(dòng)AD采集,通過檢驗(yàn)系統(tǒng)狀態(tài)寄存器,轉(zhuǎn)入對(duì)應(yīng)的處理程序。:地址長(zhǎng)度名稱功能BASE+0x0016SCR系統(tǒng)控制寄存器BASE+0x02 16SSR系統(tǒng)狀態(tài)寄存器BASE+0x0416FIFOCFIFO數(shù)量寄存器BASE+0x0616FIFODFIFO數(shù)據(jù)寄存器BASE+0x0816PMC被動(dòng)模式寄存器BASE+0x0A16AMC主動(dòng)模式寄存器BASE+0x0C16GPO通用輸出寄存器BASE+0x0E16GPI通用輸入寄存器BASE+0x1016AWC脈沖輸出寬度 FPGA相關(guān)寄存器 注:此處BASE是BANK1的基地址(0x0200,0000) LCD接口電路S3C44B0X中集成有一個(gè)LCD控制器,它把系統(tǒng)RAM存儲(chǔ)器中的一部分內(nèi)存共享為顯示緩沖區(qū),并將顯示緩沖區(qū)中的數(shù)據(jù)傳送到外部的LCD驅(qū)動(dòng)器中。LCD控制器的寄存器和程序中設(shè)定顯示緩沖區(qū)的地址后,通過對(duì)顯示緩沖區(qū)的讀、寫即可實(shí)現(xiàn)LCD的顯示控制。S3C44B0X中的LCD控制器具有如下特性:l 支持256色的彩色STN LCD、單色LCD、4或16級(jí)灰度LCD;l 支持3種類型的LCD:4位雙掃描,4位單掃描和8位單掃描顯示;l 支持多虛擬顯示屏幕(硬件上的水平和豎直滾動(dòng));l 系統(tǒng)存儲(chǔ)器作為顯示存儲(chǔ)器;l 支持的真實(shí)屏幕尺寸有:640480、320240和160160(象素); LCD控制器框圖。LCD控制器用來傳送數(shù)據(jù)和產(chǎn)生必要的控制信號(hào),如VFRAME、VLINE、VCLK和VM。此外LCD控制器還包括數(shù)據(jù)總線VD[7:0]。本次設(shè)計(jì)采用的LCD為256色STN LCD,大小為320240象素,顯示方式為8位單掃描。 LCD控制器接口電路 本設(shè)計(jì)中用到兩個(gè)A/D轉(zhuǎn)換電路,一個(gè)用來采集環(huán)境參數(shù),另一個(gè)用來采集離子主信號(hào)。由于第二章中第二節(jié)已經(jīng)介紹了環(huán)境參數(shù)采集的具體電路結(jié)構(gòu),在此不再重復(fù)累述,接下來將重點(diǎn)介紹主離子信號(hào)采集的設(shè)計(jì)。 整個(gè)主信號(hào)采集電路主要由三個(gè)部分組成:前端運(yùn)算放大器電路、A/D轉(zhuǎn)換電路和數(shù)據(jù)緩沖電路。前端運(yùn)放主要起到提高輸入阻抗,避免A/D轉(zhuǎn)換電路受到干擾的作用。運(yùn)算放大器采用的是TI公司的OPA132,OPA132的特性如下:l 電源供電范圍大:V到V;l 20V/us的電壓擺率;l 開環(huán)增益達(dá)到130dB;l 低的補(bǔ)償電壓:最大500uV;,其中AD16IN為輸入的模擬信號(hào)量,該信號(hào)量通過運(yùn)放OPA132后經(jīng)過電阻R13進(jìn)入后端的A/D轉(zhuǎn)換器。 運(yùn)算放大器OPA132接口電路ADC(A/D轉(zhuǎn)換器)的作用是將模擬信號(hào)數(shù)字化,以便后續(xù)的分析和處理,它的性能直接影響整個(gè)系統(tǒng)的性能。本系統(tǒng)采用的ADC為TI公司的ADS7805,ADS7805是一款16位精度、10uS采樣時(shí)間的CMOS結(jié)構(gòu)模數(shù)轉(zhuǎn)換器,它采用了SAR技術(shù),集成有高精度的內(nèi)部參考電源、跟蹤保持電路和內(nèi)部時(shí)鐘電路。特性如下:l 100Ksps的采樣速率;l 標(biāo)準(zhǔn)的V輸入電壓;l LSB INL,16位無缺失碼;l +5V供電電壓;l 可以使用內(nèi)部或外部參考電壓;l 16位并行數(shù)據(jù)接口;ADS7805控制信號(hào)有、和。為整個(gè)芯片的片選信號(hào),為讀寫控制信號(hào),為整個(gè)采集標(biāo)志信號(hào)。 ADS7805轉(zhuǎn)換時(shí)序圖ADS7805片選信號(hào)被始終設(shè)置為低電平,和控制數(shù)據(jù)的讀取和轉(zhuǎn)換。如果為低電平并且為高電平,上第一個(gè)下降沿將初始化一個(gè)新的轉(zhuǎn)換,此轉(zhuǎn)換脈沖寬度應(yīng)該在40ns至6us之間。變?yōu)榈碗娖胶蟠蠹s延時(shí)65ns后也變?yōu)榈碗娖剑⑶冶3值碗娖街钡睫D(zhuǎn)換完成,然后更新輸出寄存器的數(shù)據(jù)。當(dāng)為低電平時(shí),所有的轉(zhuǎn)換命令都將被忽略,必須在恢復(fù)高電平前完成由低電平到高電平的轉(zhuǎn)換。的脈沖周期應(yīng)該至少在10us以上,而的脈沖寬度不應(yīng)該超過8us。當(dāng)為高電平時(shí),數(shù)據(jù)線上的數(shù)據(jù)為高阻狀態(tài)。 ,其中AIN來自前級(jí)運(yùn)算放大器的輸出。數(shù)據(jù)總線直接和FPGA的相應(yīng)引腳相連,和連接到FPGA的GPIO口上。,通過檢測(cè)該引腳的電平變化,來判斷轉(zhuǎn)換狀態(tài)。 ADS7805連接電路 數(shù)據(jù)緩沖電路由兩片74HC245芯片組成,其主要用于在數(shù)據(jù)總線上兩路信號(hào)的異步通信。該芯片的特性如下:l 輸出與CMOS,NMOS和TTL兼容;l 低的輸出電流:;l 工作電壓范圍:~;l 抗噪聲干擾能力強(qiáng);,nE為使能信號(hào),將其置于0使芯片處于使能狀態(tài);DIR為方向控制信號(hào),DIR=1表示數(shù)據(jù)由A端到B端,DIR=0表示數(shù)據(jù)由B端到A端總線傳輸。 74HC245連接電路 數(shù)模轉(zhuǎn)換電路主要完成數(shù)字量到模擬量的轉(zhuǎn)換,本設(shè)計(jì)通過界面輸入相應(yīng)數(shù)值,然后將該數(shù)字量轉(zhuǎn)換成高壓電源模塊的控制輸入信號(hào),完成對(duì)高壓模塊的控制。本系統(tǒng)的DAC轉(zhuǎn)換芯片采用TI公司的DAC7731芯片,可通過軟件配置完成單極性或雙極性電壓輸出,其可配置輸出電壓為:V,V和+10V。 DAC轉(zhuǎn)換電路 運(yùn)算放大器OPA132主要是降低輸出阻抗,增強(qiáng)電路抗干擾能力。DA_SDI為串行輸入的數(shù)字量,A16OUT為轉(zhuǎn)換后的輸出模擬量。 數(shù)字I/O口的輸出用來控制氣路系統(tǒng)中電磁閥。該輸出起到數(shù)字開關(guān)量的作用,在實(shí)際應(yīng)用中需外部提供24V電壓。由于要驅(qū)動(dòng)外部繼電器,其本身的驅(qū)動(dòng)電流很小,所以末端連接一塊ULN2803繼電器驅(qū)動(dòng)芯片,足以滿足外部繼電器的需要。: 數(shù)字I/O口電路本章詳細(xì)介紹了基于ARM的嵌入式數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)。將硬件的設(shè)計(jì)過程中分為核心板設(shè)計(jì)和擴(kuò)展板設(shè)計(jì)。核心板是包括主控制器在內(nèi)的嵌入式系統(tǒng),擴(kuò)展了RAM和ROM,對(duì)外預(yù)留了擴(kuò)展接口。擴(kuò)展板則主要包括了FPGA,A/D轉(zhuǎn)換,D/A轉(zhuǎn)換,串口UART和LCD接口等外圍設(shè)備。在整個(gè)系統(tǒng)中硬件設(shè)計(jì)起到至關(guān)重要的作用,穩(wěn)定的硬件是系統(tǒng)可靠運(yùn)行的保障。因此對(duì)涉及到的電路都進(jìn)行了細(xì)致分析和說明,并給出了詳細(xì)的電路設(shè)計(jì)原理圖。第四章 系統(tǒng)軟件設(shè)計(jì) ARM引導(dǎo)程序設(shè)計(jì)對(duì)于ARM處理器,引導(dǎo)代碼是必不可少的,它是系統(tǒng)加電后運(yùn)行的第一段代碼,完成ARM控制器的配置和硬件初始化等功能。引導(dǎo)代碼中的配置和硬件初始化如果不正確,系統(tǒng)將不能正常運(yùn)行或不能運(yùn)行。引導(dǎo)代碼保存在ROM中,由于系統(tǒng)復(fù)位以后,處理器從0x0000_0000處開始執(zhí)行指令,所以引導(dǎo)代碼也應(yīng)從該地址開始。根據(jù)S3C44B0X的存儲(chǔ)器結(jié)構(gòu),ROM的硬件設(shè)計(jì)見本文第三章,下面將基于此設(shè)計(jì)介紹引導(dǎo)代碼的主要功能。 Bootloader程序設(shè)計(jì)從操作系統(tǒng)的角度看,Bootloader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段程序。由于嵌入式系統(tǒng)中,通常沒有像BIOS那樣的固件程序,因此需要Bootloader獨(dú)自完成對(duì)系統(tǒng)主板上的主要部件如CPU、SDRAM、FLASH、串口UART等進(jìn)行初始化并承擔(dān)整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)[8]。雖然Bootloader的實(shí)現(xiàn)依賴于CPU的體系結(jié)構(gòu),但大多數(shù)Bootloader要實(shí)現(xiàn)的主要工作有以下幾個(gè)部分:l 系統(tǒng)硬件自檢;l 配置其它Bank、端口和外設(shè)等工作模式;l 處理系統(tǒng)中斷:在不支持remap的處理器中,中斷必然要經(jīng)過BootRom空間,BootRom需要處理的任務(wù)就是把固定的中斷向量映射到一個(gè)可編程的中斷處理子程序的地址;l 引導(dǎo)操作系統(tǒng):系統(tǒng)配置完成以后,Bootloader需要把操作系統(tǒng)或其他程序裝載到SDRAM,然后把PC指針指向程序的RAM空間,使操作系統(tǒng)啟動(dòng)完成引導(dǎo)。l Flash(BootRom)編程:引導(dǎo)flash編程,通過串口或以太網(wǎng)口下載編譯成功的操作系統(tǒng)或者應(yīng)用程序,甚至BootRom本身。要想實(shí)現(xiàn)BootRom的升級(jí),必須讓Boot程序在RAM中運(yùn)行。 對(duì)于Bootloader完成的上述工作,主要分為兩個(gè)部分。一部分是依賴于CPU體系結(jié)構(gòu)的代碼,比如設(shè)備初始化代碼等,通常用匯編語言來實(shí)現(xiàn);另外一部分不依賴于硬件的部分,通常用C語言實(shí)現(xiàn),這樣可實(shí)現(xiàn)復(fù)雜功能。 在此S3C44B0X的嵌入式系統(tǒng)中,為了保證上電或復(fù)位時(shí)正常運(yùn)行,Bootloader必須存放在FLASH中的0x0000_0000地址處,因此在硬件設(shè)計(jì)上把FLASH接在ARM的nGCS0處。系統(tǒng)上電后將完成上面描述的兩個(gè)階段:首先完成存儲(chǔ)器、堆棧、寄存器、全局變量和基本硬件模塊的初始化,這由匯編代碼完成,然后將操作系統(tǒng)的內(nèi)核與文件系統(tǒng)調(diào)入SDRAM(0x0c00,0000 0x0e00,0000)中,并將PC指針指向操作系統(tǒng)內(nèi)核的入口處,為操作系統(tǒng)的運(yùn)行做好準(zhǔn)備,這部分由C語言代碼完成。根據(jù)該目標(biāo)系統(tǒng),Bootloader的設(shè)計(jì)流程包括:(1)設(shè)置異常向量表;(2)初始化存儲(chǔ)器系統(tǒng);(3)堆棧初始化;(4)C例程全局變量初始化;(5)呼叫主程序;接下來的章節(jié)將對(duì)上述流程進(jìn)行詳細(xì)的介紹。1. 異常向量表當(dāng)系統(tǒng)產(chǎn)生異常時(shí),會(huì)觸發(fā)中斷控制器。中斷控制器收到這個(gè)信號(hào)后檢查該中斷是否被允許或被屏蔽。如果被允許就給它分配一個(gè)處理優(yōu)先級(jí),當(dāng)該中斷執(zhí)行時(shí),觸發(fā)ARM的中斷信號(hào)通知ARM內(nèi)核。然后ARM內(nèi)核在FLASH中訪問中斷向量表。ARM處理器的中斷向量表從地址0x0000_0000處開始存放,連續(xù)有84字節(jié)的空間。當(dāng)一個(gè)中斷發(fā)生后,處理器會(huì)自動(dòng)跳轉(zhuǎn)到0x0000_0000地址開始的異常中斷向量表中的某個(gè)位置(由中斷類型確定)讀取指令后運(yùn)行。地 址異 常進(jìn)入模式0x0000_0000復(fù)位管理模式0x0000_0004未定義指令未定義模式0x0000_0008軟件中斷管理模式0x0000_000C中止(預(yù)取指令)中止模式
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1