基于A(yíng)RM7 PWM定時(shí)器的圖像傳感器時(shí)序信號設計
圖像傳感器的正常工作必須由外部提供適當的驅動(dòng)信號和工作電壓。這些驅動(dòng)信號的波形、相位、前后沿時(shí)間、高低電平等對圖像傳感器器件工作的好壞影響很大,因此,在設計過(guò)程中必須嚴格按要求進(jìn)行電路的設計[1]。
驅動(dòng)電路是為圖像傳感器讀出電路提供所必需的各個(gè)驅動(dòng)脈沖信號,以便使其掃描電路以及信號處理、輸出電路能正常工作,輸出相應的視頻信號[2]。對于CMOS圖像傳感器,根據像元排列形狀的不同,可以把它分為線(xiàn)列陣、面列陣以及特殊列陣(如環(huán)行列陣等)。應用較多又最常見(jiàn)的是線(xiàn)列陣和面列陣。
1 線(xiàn)陣型驅動(dòng)信號時(shí)序的要求
多個(gè)形狀和大小完全相同的光電二極管在硅片上等間距地排成一條直線(xiàn),即叫“線(xiàn)列陣”,只需要對水平移位寄存器進(jìn)行驅動(dòng)控制,其驅動(dòng)信號比較簡(jiǎn)單。線(xiàn)陣型驅動(dòng)和控制移位寄存器的波形要求如圖1所示[3]。圖中,CP是傳感器的時(shí)鐘信號,通過(guò)對晶振的輸入時(shí)鐘分頻得到,作為傳感器的工作頻率。S信號是傳感器掃描起始信號,由它確定視頻輸出電壓的起始時(shí)間。兩個(gè)?準信號是作為掃描電路即移位寄存器的動(dòng)態(tài)電源,從而達到對每個(gè)像元的采集,且兩個(gè)Φ信號可以為互補的時(shí)鐘,也可以不是。Vout[3]是視頻信號,是傳感器在S脈沖同步下,將入射到其光敏面上的按空間分布的光強信息轉換成按時(shí)序串行輸出的電信號。
線(xiàn)陣型圖像傳感器在這些驅動(dòng)信號的作用下,就可以輸出串行的視頻信號。這些驅動(dòng)信號的時(shí)序關(guān)系對圖像傳感器工作時(shí)序至關(guān)重要。
2 ARM7微處理器及PWM定時(shí)器
由于嵌入式系統對CPU的性能要求越來(lái)越高,如核心頻率、尋址能力、指令系統、功耗散熱等,以ARM為體系的RISC系統結構逐漸占領(lǐng)市場(chǎng)。
2.1 ARM7系列微處理器
ARM系列處理器是由英國ARM公司設計制造的嵌入式處理器,其已成為現今世界上最流行的嵌入式處理器,主要包括ARM7、ARM9、ARM9E、ARM10E等系列。
ARM7系列微處理器為低功耗的32 bit RISC處理器,最適合于對價(jià)位和功耗要求較高的消費類(lèi)應用,主要應用在工業(yè)控制、Internet設備、網(wǎng)絡(luò )和調制解調器設備、移動(dòng)電話(huà)等多媒體和嵌入式應用場(chǎng)合。
2.2 S3C44B0X及其PWM定時(shí)器
ARM7系列微處理器包括四種類(lèi)型的內核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ-S。ARM7TDMI是目前使用最廣泛的32 bit嵌入式RISC處理器,是ARM公司最早為業(yè)界普遍認可且贏(yíng)得了最為廣泛的應用的處理器核。S3C44B0X即是基于A(yíng)RM7TDMI的體系結構。
脈沖寬度調制技術(shù)PWM,通過(guò)對一系列脈沖的寬度進(jìn)行調制等效地獲得所需要波形(含形狀和幅值),被廣泛應用于各種控制系統中[4]。
PWM是一種對模擬信號電平進(jìn)行數字編碼的方法,通過(guò)高分辨率計數器的使用,方波的占空比被調制用來(lái)對一個(gè)具體模擬信號的電平進(jìn)行編碼。PWM調制是利用微處理器的數字輸出來(lái)對模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應用在測量、通信、功率控制與變換等許多領(lǐng)域中。
PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統信號都是數字形式的,無(wú)需進(jìn)行數模轉換,讓信號保持為數字形式可將噪聲影響降到最小。噪聲只有在強到足以將邏輯1改變?yōu)檫壿?或將邏輯0改變?yōu)檫壿?時(shí),才能對數字信號產(chǎn)生影響。對噪聲抵抗能力的增強是PWM相對于模擬控制的另外一個(gè)優(yōu)點(diǎn),而且這也是在某些時(shí)候將PWM用于通信的主要原因。從模擬信號轉向PWM可以極大地延長(cháng)通信距離。在接收端,通過(guò)適當的RC或LC網(wǎng)絡(luò )可以濾除調制高頻方波并將信號還原為模擬形式。
S3C44B0X內部集成了PWM(脈寬可調制)定時(shí)器,其內部框圖如圖2所示,具有以下特點(diǎn)[5]:
(1)5個(gè)16 bit帶PWM的定時(shí)器(Timer),1個(gè)16 bit基于DMA或基于中斷的內部定時(shí)器。
(2)3個(gè)8 bit預計數器,2個(gè)5 bit分頻器,1個(gè)4 bit分頻器。
(3)可編程的工作周期、頻率和極性。
(4)死區(Dead-zone)產(chǎn)生器。
(5)支持外部時(shí)鐘源。
S3C44B0X中定時(shí)器Timer0、Timer1、Timer2、Timer3、Timer4具有PWM功能,Timer5僅作為內部時(shí)鐘,沒(méi)有輸出引腳。Timer0、Timer1共享一個(gè)8 bit的預計數器,Timer2、Timer3共享另一個(gè)8 bit預計數器,Timer4、Timer5共享其他的一個(gè)8 bit預計數器。除了Timer4和Timer5,其他每一個(gè)Timer都有時(shí)鐘分頻器用以得到5個(gè)不同的分頻信號(1/2、1/4、1/8、1/16、1/32)。Timer4和Timer5有4個(gè)分頻信號(1/2、1/4、1/8、1/16)和一個(gè)輸入信號TCLK/EXTCLK。
8 bit預計數器是可編程的,通過(guò)加載TCFG0和TCFG1寄存器中存儲的數據值,對MCLK信號進(jìn)行分頻。
Timer的計數緩沖寄存器(TCNTBn)有一個(gè)初始值,當定時(shí)器允許工作時(shí),這個(gè)值被加載到減法計數器中。Timer的比較緩沖寄存器(TCMPBn)有一個(gè)初始值,這個(gè)值被加載到比較寄存器中與減法計數器中的值進(jìn)行比較。TCMPBn中的值被用作PWM(脈寬調制)。當減法計數器中的值等于比較寄存器中的值時(shí),定時(shí)器控制邏輯單元會(huì )改變輸出電平。因此,比較寄存器決定了PWM輸出信號的高電平(或者低電平)持續時(shí)間。當頻率和占空比改變時(shí),TCNTBn和TCMPBn雙精度緩沖的特點(diǎn)使定時(shí)器能產(chǎn)生一個(gè)穩定的輸出。
每一個(gè)Timer都擁有時(shí)鐘驅動(dòng)的16 bit減法計數器。當減法計數器系數減到0時(shí),Timer產(chǎn)生一個(gè)中斷請求來(lái)告訴CPU定時(shí)器的操作已經(jīng)完成了,相應地TCNTBn中的值自動(dòng)加載到減法計數器中產(chǎn)生下一次操作。但是如果TCONn中定時(shí)器使能端被置0,TCNBn中的值就不會(huì )再加載到計數器中[6]。
3 PWM定時(shí)器實(shí)現時(shí)序信號
利用S3C44B0X內部的PWM定時(shí)器產(chǎn)生一定時(shí)序的信號,用以驅動(dòng)線(xiàn)陣型圖像傳感器,可以通過(guò)軟件方式控制定時(shí)器中的若干寄存器,使定時(shí)器輸出的信號具有一定的時(shí)序關(guān)系。
3.1 PWM定時(shí)器時(shí)序信號的產(chǎn)生
本文設計的驅動(dòng)信號(包括起始信號S、時(shí)鐘信號Φ以及掃描結束信號EOF)是為128像元的線(xiàn)陣型圖像傳感器而設計的。一個(gè)周期內的信號時(shí)序如圖3示。其中,EOF信號是為了測試的方便而添加的,它表示的是像元掃描結束后輸出的脈沖信號。S信號及EOF信號周期固定,因此可以利用設置Timer1和Timer2直接產(chǎn)生。Φ信號在掃描起始后產(chǎn)生,掃描期間維持直到128個(gè)像元掃描完為止,掃描完成后輸出EOF信號,時(shí)鐘信號被置0。因此Φ信號的周期不固定,需要以CP信號作為參照。Timer0產(chǎn)生固定周期的CP信號,當Timer0減法計數器減到0時(shí)會(huì )產(chǎn)生中斷,將進(jìn)入中斷服務(wù)程序,并在中斷服務(wù)程序中對Timer0產(chǎn)生的中斷進(jìn)行累計加1計數。中斷計數為1后啟動(dòng)Timer3開(kāi)始定時(shí)操作,從而在這期間產(chǎn)生周期固定(為CP信號的兩倍)的脈沖信號。當計數產(chǎn)生了257個(gè)中斷時(shí),說(shuō)明?準信號已經(jīng)產(chǎn)生了128個(gè)脈沖,此時(shí)停止Timer3的定時(shí)操作。當計數產(chǎn)生了258個(gè)中斷時(shí),將中斷計數值清零,同時(shí)產(chǎn)生下一個(gè)周期的操作。
3.2 程序設計
程序包括頭文件PWM.h對PWM定時(shí)器中的寄存器及輸出引腳進(jìn)行配置以及對MCLK時(shí)鐘信號的配置。利用對外部晶振信號的分頻來(lái)得到定時(shí)器所需要的MCLK時(shí)鐘信號(包括對PWM定時(shí)器的設置用以產(chǎn)生CP、S、EOF信號以及中斷服務(wù)程序用以產(chǎn)生?準時(shí)鐘信號)。PWM定時(shí)器設置的程序流程圖如圖4所示。
當PWM Timer0的中斷產(chǎn)生時(shí),進(jìn)入中斷服務(wù)程序isrPwmTimer0,其程序流程如圖5所示。其中在配置PWM Timer3時(shí),同樣包括對TCON加載模式、減法計數器系數、占空比系數、TCNTBn及TCMPBn寄存器刷新的設置。
通過(guò)對程序的編譯、仿真、下載,從S3C44B0X引腳TOUT0輸出的為CP信號,從TOUT1輸出的為S信號,從TOUT2輸出的為EOF信號,從TOUT3輸出的為?準時(shí)鐘信號。將這些信號作為圖像傳感器的驅動(dòng)信號,接入線(xiàn)陣型傳感器的驅動(dòng)引腳就可以使傳感器按一定時(shí)序正常工作。
利用ARM7 PWM定時(shí)器,通過(guò)軟件編程還可以實(shí)現面陣型圖像傳感器的驅動(dòng)時(shí)序信號的設計。修改程序即可應用于各種型號的圖像傳感器驅動(dòng)信號的設計。
pwm相關(guān)文章:pwm原理
評論