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