1. Trang chủ >
  2. Giáo Dục - Đào Tạo >
  3. Cao đẳng - Đại học >

CHƯƠNG III: KẾT QUẢ THỰC NGHIỆM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.36 MB, 89 trang )


62



Hình 3.2: Sử dụng STMStudio quan sát giá trị đọc từ thanh ghi OV7670

3.3. Đo tần số xung clock XCLK cấp cho Camera OV7670

Hình 3.3 cho thấy tần số xung clock đo tại PA8 đưa đến chân XCLK của

OV7670 là16 MHz.



Hình 3.3: Xung clock XCLK cấp cho Camera



63

3.4. Camera OV7670 hoạt động ở chế độ QQVGA, RGB565

Đo tín hiệu PCLK



Hình 3.4: Tín hiệu PCLK ở chế độ QQVGA

Hình 3.4 cho thấy tín hiệu PCLK có tần số 1,5 MHz

Đo tín hiệu đồng bộ HREF



Hình 3.5: Tín hiệu HREF ở chế độ QQVGA

Hình 3.5 cho thấy tín hiệu HREF có tần số 956 Hz

Một frame có 120 dòng, như vậy tốc độ khung hình khoảng 7fps.

Để quan sát rõ tín hiệu đồng bộ dòng HREF từ Camera OV7670 và tín

hiệu PCLK, cài đặt giá trị thanh ghi COM10 (địa chỉ 0x15) về giá trị 0x32 để tắt

dao động PCLK khi tín hiệu HREF ở mức thấp bằng lệnh:

SCCB_write_reg(0x15, 0x32);



64



Hình 3.6: Tín hiệu đồng bộ HREF và PCLK ở chế độ QQVGA

Hình 3.6 thể hiện tín hiệu đồng bộ dòng HREF và tín hiệu pixel clock

PCLK. Khi tín hiệu HREF ở mức thấp, không có tín hiệu ra (PCLK tắt), vi điều

khiển không thu dữ liệu. Khi HREF ở mức cao, có xung PCLK, vi điều khiển

lấy mẫu tín hiệu D0÷D7 ở sườn xuống của xung PCLK, lưu vào bộ nhớ đệm.

3.5. Camera OV7670 hoạt động ở chế độ QVGA, RGB565

Đo tín hiệu PCLK



Hình 3.7: Tín hiệu PCLK ở chế độ QVGA, RGB565

Hình 3.7 cho thấy tần số tín hiệu PCLK là 1,336 MHz



65

Đo tín hiệu đồng bộ HREF



Hình 3.8: Tín hiệu HREF ở chế độ QVGA, RGB565

Hình 3.8 cho thấy tần số tín hiệu HREF là 850Hz.

Một frame có 240 dòng, tốc độ khung hình khoảng 3fps.



Hình 3.9: Tín hiệu HREF và PCLK ở chế độ QVGA, RGB565

Hình 3.9 thể hiện tín hiệu đồng bộ dòng HREF và tín hiệu pixel clock

PCLK khi Camera OV7670 ở chế độ QVGA, RGB565.

Khi tín hiệu HREF ở mức thấp, không có tín hiệu ra (PCLK tắt). Khi

HREF ở mức cao, có xung PCLK.



66

Hiển thị hình ảnh màu RGB565 lên màn hình LCD



Hình 3.10: Hiển thị ảnh màu RGB lên màn hình LCD 3,2”

3.6. Camera OV7670 hoạt động ở chế độ QVGA, YUV422

Khi Camera OV7670 phát tín hiệu video định dạng YUV, vi điều khiển

thực hiện thu tín hiệu chói Y (ảnh đa mức xám) lưu vào bộ nhớ đệm, sau đó hiển

thị ảnh đa mức xám ra màn hình.

Đo tín hiệu PCLK



Hình 3.11: Tín hiệu PCLK ở chế độ QVGA, YUV

Hình 3.11 cho thấy tín hiệu PCLK có tần số 1,325 MHz



67

Đo tín hiệu đồng bộ HREF



Hình 3.12: Tín hiệu HREF ở chế độ QVGA, YUV

Hình 3.12 cho thấy tín hiệu HREF có tần số 845Hz. Một khung hình có

240 dòng, tốc độ khung hình khoảng 3fps.



Hình 3.13: Tín hiệu HREF và PCLK ở chế độ QVGA, YUV

Hình 3.12 thể hiện tín hiệu đồng bộ dòng HREF và tín hiệu pixel clock

PCLK khi Camera OV7670 ở chế độ QVGA, YUV.



68

Hiển thị hình ảnh đa mức xám lên màn hình LCD



Hình 3.14: Hình ảnh đa mức xám ở chế độ QVGA, YUV

3.7. Truyền hình ảnh về máy tính qua USART

Dữ liệu hình ảnh truyền về máy tính thành công với tốc độ 1Mbit/s



Hình 3.15: Truyền dữ liệu ảnh về máy tính qua USART



69

KẾT LUẬN

Căn cứ vào kết quả đạt được, luận văn đã đạt được mục tiêu đề ra. Qua

thời gian làm luận văn, em đã có dịp đi sâu vào nghiên cứu tìm hiểu chi tiết các

quá trình phát một ảnh màu và luồng video. Từ đó đã thiết kế lắp ráp và phát

triển một hệ thống thu thập và xử lý ảnh video theo thời gian thực dựa trên Kit

Vi điều khiển STM32 thành công.

Các vấn đề chính sau đây đã được giải quyết trong luận văn:

- Thiết kế lắp ráp hệ thống bắt ảnh gồm Camera OV7670 với Kit vi điều

khiển STM32F4 Discovery hiển thị trên màn hình tinh thể lỏng LCD 3,2”.

- Phát triển phần mềm nhúng cho phép cấu hình hệ thống và bắt các

khung ảnh của luồng video.

- Hiển thị hình ảnh theo thời gian thực ra màn hình LCD 3,2”.

- Truyền dữ liệu ảnh về máy tính qua USART với tốc độ lên tới 1Mbit/s.

Hệ thống có thể đáp ứng yêu cầu thời gian thực trong một số hệ thống

giám sát, cảnh báo có tốc độ chậm, không yêu cầu xử lý nhanh.

Những kết quả này hy vọng sẽ là tiền đề cho những ứng dụng hữu ích

trong tương lai với nhiệm vụ kỹ thuật giám sát hiện trường tại cơ quan mà em

đang công tác.



70

TÀI LIỆU THAM KHẢO

Tiếng Việt

1.



http://www.arm.vn/TinChiTiet/tabid/105/id/114/Default.aspx



Tiếng Anh

2.



UM1472 User Manual STM32F4DISCOVERY, Doc ID 022256 Rev 2,

www.st.com



3.



RM0090 Reference manual STM32F40x, STM32F41x, STM32F42x,

TM32F43x advanced ARM-based 32-bit MCUs, Doc ID 018909 Rev

3, www.st.com



4.



STM32F4xx_StdPeriph_Examples\DCMI\DCMI_CameraExample,

www.st.com



5.



OV7670/OV7171 CMOS VGA (640x480) CameraChip™ Advanced

Information Preliminary Datasheet, Version 1.3, April 5, 2006



6.



OV7670/OV7171

CMOS

VGA

(640x480)

Implementation Guide, Document Version: 1.0



7.



OV7670 Software Application Note.



8.



OmniVision Serial Camera Control

Specification, Document Version: 2.2



9.



ILI9341 datasheet, Document No.: ILI9341_DS_V1.09.pdf, Version:

V1.09



Bus



CameraChip™



(SCCB)



Functional



10. ILI9341 Application Notes, Version: Preliminary V0.6, Date: Mar. 11th

2011.

11. http://embeddedprogrammer.blogspot.com/2012/07/hacking-ov7670camera-module-sccb-cheat.html

12. http://privateblog.info/arduino-uno-i-kamera-ov7670-primerispolzovaniya/

13. https://github.com/ComputerNerd/ov7670-no-ram-arduino-uno

14. https://github.com/ComputerNerd/arduino-camera-tft

15. https://stm32f4-discovery.net/2014/04/library-08-ili9341-lcd-onstm32f429-discovery-board/

16. https://github.com/desaster/ov7670test

17. http://lxr.free-electrons.com/source/drivers/media/i2c/ov7670.c

18. http://supuntharanga.blogspot.com/2014/04/reading-serial-port-dataplotting-gray.html

19. http://www.urel.feec.vutbr.cz/MPOA/2014/cam-ov7670

20. https://github.com/erikandre/stm32-ov7670



71

Phụ lục 1: Chương trình đọc giá trị thanh ghi Camera OV7670 [4]

uint8_t SCCB_read_reg(uint8_t read_reg)

{

// Chu ky ghi du lieu (2 pha)

// Kiem tra trang thai duong day

// Doi den khi trang thai duong day roi

while(I2C_GetFlagStatus(I2C2, I2C_FLAG_BUSY));

// I2C2 START

I2C_GenerateSTART(I2C2, ENABLE);

// Kiem tra trang thai duong day

while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT)){

};

// Pha 1: Gui dia chi doc dư lieu cua Camera

// Master o che do truyen du lieu.

I2C_Send7bitAddress(I2C2, OV7670_READ_ADDR,

I2C_Direction_Transmitter);

// Doi den khi Camera xac nhan bang Don't Care bit

while(!I2C_CheckEvent(I2C2,

I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));

// Pha 2: Gui dia chi thanh ghi Camera can doc du lieu

I2C_SendData(I2C2, read_reg);

// Kiem tra, doi den khi truyen dia chi thanh ghi thanh cong

while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_BYTE_TRANSMITTED)){

};

I2C_GenerateSTOP(I2C2, ENABLE);

// Ket thuc chu ky ghi du lieu 2 pha

//----------------------------------------------------// Chu ky doc du lieu thanh ghi (2 pha)

I2C_GenerateSTART(I2C2, ENABLE);

// Kiem tra trang thai duong day

while(!I2C_CheckEvent(I2C2, I2C_EVENT_MASTER_MODE_SELECT)){ };

// Pha 1: Gui dia chi cua Camera, Master o che do nhan du lieu.

I2C_Send7bitAddress(I2C2, OV7670_READ_ADDR,

I2C_Direction_Receiver);

// Kiem tra slave da nhan biet che do truyen

while(!I2C_CheckEvent(I2C2,

I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)){};

// Pha 2: doc du lieu thanh ghi

// Tat ACK tu master de nhan biet NA bit khi ket thuc truyen



Xem Thêm
Tải bản đầy đủ (.pdf) (89 trang)

×