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

正文內容

基于arm的數(shù)據(jù)采集系統(tǒng)-在線瀏覽

2024-08-02 04:05本頁面
  

【正文】 M7TDMI核的處理器,它為嵌入式系統(tǒng)和一般類型的應用提供了高性價比的微控制器解決方案。此外,S3C44B0X還采用了一種新的總線結構,即SAMBA II(三星ARM CPU嵌入式微處理器總線結構)。 S3C44B0X存儲系統(tǒng)在系統(tǒng)復位的時候,S3C44B0X的程序(PC)指針被設置成0,使程序跳轉到0x0000_0000處開始執(zhí)行。ROM中存儲有系統(tǒng)的初始化程序,負責配置處理系統(tǒng)的結構、工作模式以及自動檢測嵌入式控制器的各個硬件是否工作正常。 S3C44B0X復位后的存儲器映射S3C44B0X的存儲器控制系統(tǒng)具有以下特點:l 支持數(shù)據(jù)存儲的大/小端選擇(通過外部引腳實現(xiàn));l 地址空間:具有8個Bank,每個Bank可達32MB,總共可達256MB;l 每個Bank的數(shù)據(jù)寬度均可改變(8位/16位/32位);l 8個Bank中,Bank0~Bank5支持ROM和SRAM,Bank6和Bank7支持ROM、SRAM和FP/EDO/SDRAM等; ROM接口電路[4]S3C44B0X內部沒有ROM,所以擴展了一塊FLASH存儲器,用于在系統(tǒng)掉電以后保存系統(tǒng)的代碼和數(shù)據(jù)。其數(shù)據(jù)總線和地址總線和S3C44B0X的數(shù)據(jù)和地址總線相連,讀、寫和S3C44B0X的讀、寫引腳相連。由于SST39VF1601作為系統(tǒng)的ROM使用,它包含了系統(tǒng)的啟動代碼,系統(tǒng)復位以后PC指針需要指向SST39VF1601中起始的程序代碼,所以必須將SST39VF1601的片選信號和S3C44B0X的nGCS0相連,以使SST39VF1601映射到系統(tǒng)存儲器中的Bank0,起始地址為0x0000_0000。當OM1=0,OM0=1,則Bank0的數(shù)據(jù)寬度為16位。 RAM接口電路RAM作為整個系統(tǒng)的內存,需保證有足夠大的空間。所以系統(tǒng)初始化后,都將保存在ROM中的代碼和數(shù)據(jù)裝載入RAM進行執(zhí)行。本系統(tǒng)采用的RAM為Hynix的HY57V561620,為268,435,456 bit (4Banks 4M 16Bit)的CMOS SDRAM。在本設計中采用的是16位數(shù)據(jù)總線的接口方式,并將HY57V561620映射到S3C44B0X存儲器系統(tǒng)中的Bank6中,字節(jié)地址空間為0x0c00_0000~0x0c7f_ffff。因為HY57V561620的存儲配置為(4M164B) 1,根據(jù)S3C44B0X的數(shù)據(jù)手冊規(guī)定,HY57V561620的BA0、BA1引腳應該與S3C44B0X的地址線ADDR2ADDR24相連接。相反,如果設計時考慮不周到,整個電源系統(tǒng)可能會受到干擾甚至不能正常工作。工作所需的電源由DC-DC轉換器提供。VDD5為來自開關電源的+5V直流電壓,在其進入PCB板的地方采用了兩個22uF的電解電容進行去耦。S3C44B0X芯片需要兩個晶振,一個給內核提供時鐘,一個給RTC(實時時鐘)提供時鐘。S3C44B0X中有一個PLL(PHASELOCKEDLOOP)鎖相環(huán)電路,可以將時鐘倍頻,倍頻后最高工作頻率可以達到66MHz。當OM3=0,OM2=0,則使用的是外部晶振時鐘,此時鎖相環(huán)使能。采用了較為簡單的RC復位電路。在充電過程中,74HC04的1端未達到閾值電平前的這段時間內,nRESET為低電平,系統(tǒng)復位。S3C44B0X要求系統(tǒng)復位時nRESET保持至少四個MCLK周期。 系統(tǒng)復位電路 JTAG接口電路 JTAG接口電路用來連接仿真器進行代碼的實時調試和程序的燒寫,本設計中JTAG接口主要是配合簡易仿真板調試程序,以及完成最底層的固件程序的燒寫。 JTAG接口電路[5][6]電阻式觸摸屏是一種傳感器,它將矩形區(qū)域中觸摸點(X,Y)的物理位置轉換為代表X坐標和Y坐標的電壓。本文使用的觸摸屏為四線電阻式觸摸屏,它包括上下疊合的兩個透明層,這兩個透明層由具有相同表面電阻的透明阻性材料組成。為了在X方向進行測量,將左側總線偏置為0,右側總線偏置為VREF;將底部或頂部總線連接到ADC(A/D轉換器),當X層和Y層由于觸摸屏被按下而接觸時即可作一次測量。 觸摸屏結構簡圖觸摸屏上代表觸點位置的電壓值通常由觸摸屏接口芯片測量。該芯片是TI公司一款具有串行接口的可編程8/12位的ADC,轉換速率可以達到125kHz,作為觸摸屏接口芯片得到了廣泛的應用。ADS7843的控制和數(shù)據(jù)信號連接到S3C44B0X的GPIO口上。 觸摸屏接口電路 因為本設計采用了ARM+FPGA+ADC的結構,而擴展板上的主要的電路即為FPGA和A/D,所以擴展板的設計在整個電路系統(tǒng)中占據(jù)十分重要的作用。FPGA時鐘頻率高,內部延時小,原來由軟件完成的邏輯控制全部由硬件來完成,速度快,效率高。這樣FPGA把原來純粹以軟件操作形式的數(shù)據(jù)采集變成硬件采集,ARM只需要設置好采集所需要的各種相關寄存器,然后啟動FPGA工作。 擴展板的電源電路相對于核心板而言更為復雜,擴展板的輸入電壓為直流24V而整個系統(tǒng)要用到的電壓分別為:、5V、V和V等。 同ARM相比較FPGA的I/。在此不再重復,請參考前面的電路圖。 單刀雙擲開關控制的電源電路 圖中的兩個DCDC轉換模塊采用的是北京匯眾公司生產(chǎn)24V轉5V和24V轉V模塊。 LM7812和LM7912連接電路圖 UART接口電路 串口主要是用于通信的,串口負責打印一些必要的調試信息和交互一些人機命令以及完成大固件程序的下載和升級。 串口接口電路 FPGA控制電路FPGA能實現(xiàn)邏輯控制,響應速度快,效率高。可以實現(xiàn)RAM﹑ROM﹑雙口RAM或FIFO功能,使得此款芯片適合有存儲和緩沖功能需要的數(shù)據(jù)采集系統(tǒng)[7]。由于ARM對外圍存儲器和寄存器是統(tǒng)一編址,所以只要將BANK0~BANK5的某個片選與FPGA片選相連就可將FPGA映射至其某一段區(qū)域,本系統(tǒng)中將FPGA映射到0x02000000~0x04000000地址處,即FPGA片選與ARM的nGCS1相連接。FPGA檢測到外部讀寫信號后,使能內部的存儲器和寄存器進行相應的操作。由于FPGA引腳眾多在此不作詳細的描述,具體應用方式可參考EP1C6T144I7芯片的數(shù)據(jù)手冊。當系統(tǒng)上電后,數(shù)據(jù)自動加載到FPGA。 EPCS1接口電路 FPGA代碼是放在配置芯片EPCS1中,對于代碼的下載可通過ByteBlasterMV或ByteBlasterII通信電纜。通過Verilog語言在FPGA內部實現(xiàn)了異步FIFO,這樣就可以把采集到的數(shù)據(jù)先保存到FPGA內部數(shù)據(jù)緩存區(qū)FIFO里??紤]到AD采樣的寫FIFO速度與ARM讀FIFO速度不一致,所以選擇異步FIFO作為緩存來實現(xiàn)不同時鐘域間的接口。ARM在中斷處理程序中把數(shù)據(jù)取走,: ARM與FPGA通信原理圖 ARM通過配置FPGA的各種寄存器來發(fā)布控制命令,因此根據(jù)實際系統(tǒng)的需要,設計了9個寄存器分別滿足不同的邏輯控制:系統(tǒng)控制﹑系統(tǒng)狀態(tài)﹑FIFO數(shù)據(jù)﹑脈沖調制等寄存器。ARM的主控程序先完成相應寄存器控制字的設置,然后啟動AD采集,通過檢驗系統(tǒng)狀態(tài)寄存器,轉入對應的處理程序。LCD控制器的寄存器和程序中設定顯示緩沖區(qū)的地址后,通過對顯示緩沖區(qū)的讀、寫即可實現(xiàn)LCD的顯示控制。LCD控制器用來傳送數(shù)據(jù)和產(chǎn)生必要的控制信號,如VFRAME、VLINE、VCLK和VM。本次設計采用的LCD為256色STN LCD,大小為320240象素,顯示方式為8位單掃描。由于第二章中第二節(jié)已經(jīng)介紹了環(huán)境參數(shù)采集的具體電路結構,在此不再重復累述,接下來將重點介紹主離子信號采集的設計。前端運放主要起到提高輸入阻抗,避免A/D轉換電路受到干擾的作用。 運算放大器OPA132接口電路ADC(A/D轉換器)的作用是將模擬信號數(shù)字化,以便后續(xù)的分析和處理,它的性能直接影響整個系統(tǒng)的性能。特性如下:l 100Ksps的采樣速率;l 標準的V輸入電壓;l LSB INL,16位無缺失碼;l +5V供電電壓;l 可以使用內部或外部參考電壓;l 16位并行數(shù)據(jù)接口;ADS7805控制信號有、和。 ADS7805轉換時序圖ADS7805片選信號被始終設置為低電平,和控制數(shù)據(jù)的讀取和轉換。變?yōu)榈碗娖胶蟠蠹s延時65ns后也變?yōu)榈碗娖?,并且保持低電平直到轉換完成,然后更新輸出寄存器的數(shù)據(jù)。的脈沖周期應該至少在10us以上,而的脈沖寬度不應該超過8us。 ,其中AIN來自前級運算放大器的輸出。通過檢測該引腳的電平變化,來判斷轉換狀態(tài)。該芯片的特性如下:l 輸出與CMOS,NMOS和TTL兼容;l 低的輸出電流:;l 工作電壓范圍:~;l 抗噪聲干擾能力強;,nE為使能信號,將其置于0使芯片處于使能狀態(tài);DIR為方向控制信號,DIR=1表示數(shù)據(jù)由A端到B端,DIR=0表示數(shù)據(jù)由B端到A端總線傳輸。本系統(tǒng)的DAC轉換芯片采用TI公司的DAC7731芯片,可通過軟件配置完成單極性或雙極性電壓輸出,其可配置輸出電壓為:V,V和+10V。DA_SDI為串行輸入的數(shù)字量,A16OUT為轉換后的輸出模擬量。該輸出起到數(shù)字開關量的作用,在實際應用中需外部提供24V電壓。: 數(shù)字I/O口電路本章詳細介紹了基于ARM的嵌入式數(shù)據(jù)采集系統(tǒng)的硬件設計。核心板是包括主控制器在內的嵌入式系統(tǒng),擴展了RAM和ROM,對外預留了擴展接口。在整個系統(tǒng)中硬件設計起到至關重要的作用,穩(wěn)定的硬件是系統(tǒng)可靠運行的保障。第四章 系統(tǒng)軟件設計 ARM引導程序設計對于ARM處理器,引導代碼是必不可少的,它是系統(tǒng)加電后運行的第一段代碼,完成ARM控制器的配置和硬件初始化等功能。引導代碼保存在ROM中,由于系統(tǒng)復位以后,處理器從0x0000_0000處開始執(zhí)行指令,所以引導代碼也應從該地址開始。 Bootloader程序設計從操作系統(tǒng)的角度看,Bootloader就是在操作系統(tǒng)內核運行之前運行的一段程序。雖然Bootloader的實現(xiàn)依賴于CPU的體系結構,但大多數(shù)Bootloader要實現(xiàn)的主要工作有以下幾個部分:l 系統(tǒng)硬件自檢;l 配置其它Bank、端口和外設等工作模式;l 處理系統(tǒng)中斷:在不支持remap的處理器中,中斷必然要經(jīng)過BootRom空間,BootRom需要處理的任務就是把固定的中斷向量映射到一個可編程的中斷處理子程序的地址;l 引導操作系統(tǒng):系統(tǒng)配置完成以后,Bootloader需要把操作系統(tǒng)或其他程序裝載到SDRAM,然后把PC指針指向程序的RAM空間,使操作系統(tǒng)啟動完成引導。要想實現(xiàn)BootRom的升級,必須讓Boot程序在RAM中運行。一部分是依賴于CPU體系結構的代碼,比如設備初始化代碼等,通常用匯編語言來實現(xiàn);另外一部分不依賴于硬件的部分,通常用C語言實現(xiàn),這樣可實現(xiàn)復雜功能。系統(tǒng)上電后將完成上面描述的兩個階段:首先完成存儲器、堆棧、寄存器、全局變量和基本硬件模塊的初始化,這由匯編代碼完成,然后將操作系統(tǒng)的內核與文件系統(tǒng)調入SDRAM(0x0c00,0000 0x0e00,0000)中,并將PC指針指向操作系統(tǒng)內核的入口處,為操作系統(tǒng)的運行做好準備,這部分由C語言代碼完成。1. 異常向量表當系統(tǒng)產(chǎn)生異常時,會觸發(fā)中斷控制器。如果被允許就給它分配一個處理優(yōu)先級,當該中斷執(zhí)行時,觸發(fā)ARM的中斷信號通知ARM內核。ARM處理器的中斷向量表從地址0x0000_0000處開始存放,連續(xù)有84字節(jié)的空間。地 址異 常進入模式0x0000_0000復位管理模式0x0000_0004未定義指令未定義模式0x0000_0008軟件中斷管理模式0x0000_000C中止(預取指令)中止模式0x0000_0010中止(數(shù)據(jù))中止模式0x0000_0014保留保留0x0000_0018IRQIRQ模式0x0000_001CFIQFIQ模式 異常向量地址分配表每當有中斷或者異常發(fā)生時,ARM處理器便強制把PC指針指向向量表中對應中斷類型的地址值。該指令使程序跳轉至HandleIRQ處運行。所以當非向量中斷發(fā)生時,CPU跳轉到IsrIRQ處執(zhí)行IsrIRQ后面的代碼,執(zhí)行的結果就得到了當前中斷服務程序的起始地址。在引導程序的數(shù)據(jù)段中定義了所有中斷服務程序的地址,這些地址都是以變量_ISR_STARTADDRESS的值為起點,其中EINT0的地址為_ISR_STARTADDRESS+334。這樣就可以得到中斷服務程序的地址了。只要將中斷服務程序的起始地址賦予HandleEINT0的空間,在中斷發(fā)生時就可以執(zhí)行相應的中斷服務程序。這主要通過設置13個從0x01c8_0000開始的特殊寄存器來實現(xiàn)的,通過閱讀所使用的RAM芯片的數(shù)據(jù)手冊,分析其中的讀/寫時間等參數(shù),合理的設置RAM控制器里的相關參數(shù),可以提高RAM的讀/寫速度,相反則會降低速度。改變狀態(tài)寄存器(CPSR)的狀態(tài)位,可以使處理器切換到不同模式,然后給SP賦值,就實現(xiàn)了堆棧的初始化。初始化堆棧的代碼如下所示(以IRQ模式和FIQ模式為例):mrs r0, cpsr ;將CPSR的值存放在寄存器R0中 bic r0, r0, (MODEMASK|NOINT) ;屏蔽模式位和中斷 orr r1, r0, IRQMODE|NOINT msr cpsr_cxsf, r1 ;轉到IRQ模式 ldr sp, =IRQStack ;設置SP_irq orr r1, r0, FIQMODE|NOINT msr cpsr_cxsf, r1 ;轉到FIQ模式 ldr sp, =FIQStack orr r1, r0, SVCMODE|NOINT msr cpsr_cxsf,r1 ;轉到SVC模式 ldr sp, =SVCStack 注:未初始化用戶
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1