Tải bản đầy đủ (.docx) (41 trang)

THIẾT KẾ HỆ THỐNG THU NHẬN HÌNH ẢNH TỪ CAMERA TRUYỀN KHÔNG DÂY LÊN MÁY TÍNH

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 (755.59 KB, 41 trang )

LỜI NÓI ĐẦU
Đồ án “Thiết kế hệ thống thu nhận hình ảnh từ camera, truyền không dây và
có dây lên máy tính” được thực hiện nhằm đưa việc áp dụng vi điều khiển vào
một lĩnh vực cụ thể trong thực tế và đồng thời cũng có thể làm cơ sở để nghiên
cứu.
Cùng với việc thực hiện đề tài này, chúng em xin gửi lời cảm ơn đến các thầy
cô trong bộ môn Điện tử máy tính, Viện điện tử viễn thông, trường Đại học Bách
Khoa Hà Nội, đặc biệt là thầy Nguyễn Hoàng Dũng đã nhiệt tình chỉ dẫn các
bước, hướng nghiên cứu, thực hiện cũng như yêu cầu cần có của đề tài. Cuối
cùng, xin bày tỏ lòng cảm ơn chân thành đến những người thân yêu, bạn bè đã
hết lòng ủng hộ cả về vật chất lẫn tinh thần cho các thành viên trong nhóm trong
suốt khoảng thời gian làm đồ án tốt nghiệp.
Trong quá trình thực hiện đề tài, với những kết quả đạt được bước đầu, dù đã
rất cố gắng tuy nhiên không tránh khỏi những thiếu sót và hạn chế nhất định. Vì
vậy, chúng em rất mong nhận được sự góp ý, bổ sung của các thầy cô để đề tài
được tối ưu và hoàn thiện hơn. Em xin chân thành cảm ơn.


Đồ án: Truyền ảnh qua module không dây

TÓM TẮT LUẬN VĂN
Ứng dụng của vi điều khiển trong thực tế và nghiên cứu là rất tiềm năng. Kể từ
khi xuất hiện các vi mạch có khả năng lập trình như PLC, MCU, ngành điện tử viễn
thông ngày một phát triển và đã có tác động to lớn đến đời sống nhờ các ứng dụng
hữu ích của chúng. Trong đó, ứng dụng vi điều khiển trong các lĩnh vực như chụp
ảnh, truyền dữ liệu qua vô tuyến mà cụ thể là truyền hình ảnh qua các mô-đun
không dây là một đề tài rất được quan tâm.
Mục tiêu của luận văn này là thiết kế một mạch sử dụng vi điều khiển để ứng
dụng trong một lĩnh vực cụ thể, đó là chụp ảnh và truyền ảnh không dây. Toàn bộ
luận văn gồm hai phần chính: Phần đầu gồm chương 1 và chương 2 sẽ giới thiệu
tổng quan về các kiến thức lý thuyết cơ sở. Phần còn lại trình bày các công đoạn của


quá trình thực thi hệ thống bao gồm: thiết kế, chế tạo và kiểm thử kết quả.
Cuối cùng là các kết luận về kết quả đạt được cũng như hạn chế và hướng phát
triển cho đề tài luận văn.
ABSTRACT
Microcontroller applications for real life and research are very potential. Since
programmable integrated circuits such as PLC, MCU were invented, electronics and
telecommunications have developed and impacted significantly to our lives because
of its useful applications. Microcontroller applications in many fields such as
capturing image, transmitting data via radio wave, for instance, transmitting image
via wireless module, are very being concentrated.
The goals of the thesis is designing a device using microcontroller in particular
application, capturing image and transmitting image wirelessly. The entire of the
thesis mainly includes two parts: The first part includes chapter 1 and chapter 2
which introduce theories and basic knowledge. The rest consists of implement
processes: designing, making and testing.
Finally, conclusions and achievements as well as limited issues and development
suggestions will be shown in the thesis.
2


Đồ án: Truyền ảnh qua module không dây

MỤC LỤC

3


Đồ án: Truyền ảnh qua module không dây

DANH MỤC HÌNH ẢNH


4


Đồ án: Truyền ảnh qua module không dây

DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt

Từ đầy đủ

Mô tả

ARM

Acorn RISC Machine

Một loại cấu trúc vi xử lý 32 bit

CPU

Central Control Unit

Bộ xử lý trung tâm

CMOS

Complementary Metal Oxyde
Semiconductor


Bán dẫn ô xít kim loại có bù dòng
điện

FIFO

First In First Out

Vào trước ra trước

LCD

Liquid Crystal Display

Màn hình tinh thể lỏng

MCU

Microcontroller Unit

Đơn vị vi điều khiển

RGB

Red Green Blue

Đỏ, lục, lam

SCCB

Serial Camera Control Bus


Đường điều khiển dữ liệu Camera

SPI

Serial Peripheral Bus

Đường ngoại vi nối tiếp

SRAM

Static Random Access Memory

Bộ nhớ truy cập ngẫu nhiên tĩnh

USB

Universal Serial Bus

Một chuẩn truyền dữ liệu nối tiếp

5


Đồ án: Truyền ảnh qua module không dây

PHẦN MỞ ĐẦU
Trong kỷ nguyên bùng nổ công nghệ hiện nay, điện tử và viễn thông luôn là
ngành giữ vai trò quan trọng hàng đầu và được chú trọng nghiên cứu phát triển.
Thực tế, ngành này đã đạt được những thành tựu đáng kể, cùng với đó là một loạt

các hãng điện tử lớn ra đời đáp ứng cho yêu cầu cũng như nhu cầu phát triển của
công nghệ. Cũng từ đó mà hàng loạt các sản phẩm mạch điện tử được phát triển để
phục vụ cho nghiên cứu cũng như ứng dụng trong đời sống hàng ngày. Phạm vi của
đề tài xoay quanh việc sử dụng vi điều khiển vào ứng dụng điện tử cụ thể là bắt
hình ảnh số từ camera và truyền qua vô tuyến. Ý nghĩa thực tiễn của đề tài là rất lớn
như có thể áp dụng trong an ninh, bảo mật hay nghiên cứu về các ảnh hưởng của
môi trường vô tuyến đến truyền dữ liệu từ đó đưa ra các phương pháp đánh giá mức
độ ảnh hưởng cũng như đưa ra các giải pháp để khắc phục.
Để hoàn thành đề tài với các yêu cầu đặt ra, đòi hỏi có kiến thức nhất định về các
mạch điện tử cũng như về lý thuyết truyền tin vô tuyến. Sau quá trình cố gắng làm
việc, đề tài cũng đã đạt được kết quả bước đầu:
1) Bên phát: Đã bắt được hình ảnh từ camera số và truyền đi.
2) Bên thu: Đã nhận được dữ liệu và truyền lên máy tính hiển thị được hình

ảnh bằng phần mềm.
Phương pháp được áp dụng nghiên cứu là xuất phát từ nghiên cứu kiến thức về lý
thuyết, các thành phần phần cứng để tử đó thiết kế, chế tạo và thử nghiệm mạch
theo các mục tiêu đã đặt ra. Các chương trong đồ án sẽ trình bày rõ hơn về lý thuyết
và các bước thiết kế hệ thống.

6


Đồ án: Truyền ảnh qua module không dây

Chương 1: Tổng quan về thu nhận ảnh từ camera, truyền không dây và
truyền lên máy tính
Chương này sẽ trình bày một cách tổng quan nhất về các vấn đề chính liên quan
đến đồ án cũng như thể hiện các phần ứng dụng của hệ thống.
1.1 Thu nhận ảnh từ camera số

Như chúng ta đã biết, quá trình chuyển đổi từ chụp ảnh bằng phim sang sử dụng
máy ảnh kỹ thuật số là một bước tiến lớn trong cách người ta xử lý và lưu giữ hình
ảnh. Từ khi các thiết bị số ra đời, đặc biệt do sự phát triển của các linh kiện số lập
trình được có khả năng xử lý cũng như lưu trữ dữ liệu một cách thuận tiện đến tuyệt
vời, kéo theo sự thay đồi mạnh mẽ trên nhiều lĩnh vực khác. Cũng không ngoại lê,
cách thức người ta thu nhận ảnh cũng đã thay đổi: sử dụng camera kỹ thuật số. Ở
đó, người ta đã chế tạo các chip chuyên dụng để xử lý hình ảnh từ camera, các điểm
ảnh màu (các pixel) được mã hóa thành các chuỗi bit theo các tiêu chuẩn về lưu trữ
ảnh màu, chẳng hạn chuẩn màu RGB565, RGB422,.v.v.
Đối với các camera tích hợp – hay còn gọi là các mô-đun camera, người ta đã
tích hợp các chip xử lý hình ảnh cùng mạch xử lý tín hiệu hình ảnh. Đầu ra của môđun camera chỉ đơn giản là chuỗi bit tín hiệu lấy từ các chân của mô-đun. Khi đó,
việc thu nhận và xử lý sẽ đơn giản và gọn gàng hơn rất nhiều. Trong phạm vi đồ án,
nhóm đã sử dụng một mô-đun camera để thu nhận hình ảnh OV7725, có 20 chân,
và việc lấy dữ liệu hình ảnh sẽ thông qua các chân này.
1.2 Truyền ảnh không dây và giao tiếp với máy tính
Mục này sẽ trình bày các vấn đề chung nhất về sự cần thiết, ứng dụng cũng như
các công đoạn chính đề tài cần thực hiện.
1.2.1 Truyền ảnh không dây
Một trong những yêu cầu khi ta đã chụp được hình ảnh đó là truyền ảnh đó đi
đến nơi khác. Truyền ảnh không dây là một phương thức truyền ảnh mà ta cần quan
tâm bởi không chỉ có tính ứng dụng trong thực tế mà còn có ý nghĩa trong nghiên
cứu. Ứng dụng thực tế có thể là truyền ảnh, gửi ảnh dưới dạng tin nhắn, hay gửi ảnh
7


Đồ án: Truyền ảnh qua module không dây

trong thời gian ngắn để xử lý hình ảnh, lưu vào cơ sở dữ liệu để quản lý. Một ý
nghĩa lớn của đề tài là có thể sử dụng để nghiên cứu ảnh hưởng của môi trường khi
truyền không dây, để từ đó có thể đưa ra các đánh giá mức độ cũng như các biện

pháp khắc phục.
1.2.2 Truyền hình ảnh lên máy tính
Đây là việc làm không thể thiếu khi muốn ứng dụng vào thực tế hay nghiên cứu.
Bởi lẽ, máy tính có khả năng xử lý mạnh cũng như hỗ trợ các nền tảng lập trình
phong phú mà ở đó có thể dễ dàng xây dựng các ứng dụng từ mô phỏng, đánh giá
cũng như triển khai các thuật toán, ý tưởng để giải quyết vấn đề. Trong đồ án này,
việc truyền hình ảnh lên máy tính là một trong ba công đoạn chính, có nhiệm vụ thu
nhận dữ liệu ảnh từ cổng kết nối USB do bên thu gửi lên, từ đó thực hiện giải mã,
hiển thị và lưu ảnh.
Hiện có nhiều cách thức để truyền nhận dữ liệu lên máy tính như truyền qua vô
tuyến wifi, truyền qua mạng Internet và truyền qua cáp. Mỗi phương thức truyền có
ưu điểm riêng, như tốc độ cao, linh hoạt, khả năng áp dụng. Trong phạm vi đồ án
này, do sử dụng vi điều khiển để xử lý mạch bên thu phát, và cần phương thức
truyền dữ liệu đơn giản mà thuận tiện nên truyền qua cáp USB đã được sử dụng.

8


Đồ án: Truyền ảnh qua module không dây

Chương 2: Cơ sở lý thuyết
2.1 Kiến thức tổng quan các thành phần của hệ thống
Các thành phần của hệ thống bao gồm các linh kiện, vi điều khiển và các mô-đun
khác được sử dụng.
2.1.1 Vi điều khiển STM32F103VET6
Vi điều khiển STM32F103VET6 là một dòng vi điều khiển trên nền tảng ARM.
Do tính linh hoạt cũng như khả năng đảm nhiệm nhiều chức năng như giao tiếp, xử
lý tín hiệu từ camera, LCD… do đó, vi điều khiển này đã được lựa chọn trong đồ
án. Phần sau sẽ trình bày chi tiết về dòng vi điều khiển này.
2.1.1.1 Giới thiệu chung

 Tìm hiểu về bộ xử lí Cortex

Do đây là thế hệ xử lí mới nhất của ARM kế thừa các ưu điểm của các thế hệ vi
điều khiển trước đó nên nhóm tập chung tìm hiểu về thế hệ nhân ARM này.
Bộ xử lí Cortex là thế hệ lõi nhúng kế tiếp ARM7. Đây là là lõi xử lí hoàn chỉnh,
gồm bộ xử lí trung tâm và hệ thống các thiết bị ngoại vi xung quanh. Cortex cung
cấp phần xử lí trung tâm của hệ thống nhúng.
 Đơn vị xử lí trung tâm Cortex.

Trung tâm của bộ xử lí Cortex là 1 CPU 32 bit RISC (reduced instrument set
computer) được bổ sung thêm tập lệnh Thumb2 giúp cho tập lệnh phong phú hơn,
hỗ trợ tốt cho các phép toán số nguyên, các thao tác với bit tốt hơn đồng thời khả
năng đáp ứng thời gian thực tốt hơn.


Tập lệnh Thumb2.
Các thế hệ ARM7, ARM9 có thể thực thi 2 tập lệnh ARM 32 bit và Thumb

16 bit giúp tối ưu hóa chương trình, trong đó tập lệnh ARM giúp tăng tốc độ xử
lí, tập lệnh thumb 16 bít giúp nén mã chương trình.CPU Cortex với sự bổ sung
tập lệnh thumb là sự pha trộn giữa lệnh 16 bit-32bit giúp cải tiến 26% mật độ
mã so với lệnh ARM 32 bit và 25% so với tập lệnh thumb 16 bit.
9


Đồ án: Truyền ảnh qua module không dây


Kiến trúc đường ống (pipeline).
Đơn vị xử lí Cortex thực hiện hầu hết các lệnh trong một chu kì đơn.Việc


này thực hiện được với một đường ống 3 tầng cùng với khả năng dự đoán rẽ
nhánh: Trong khi 1 lệnh đang được thực thi thì lệnh tiếp theo đã được giải mã
và lệnh sau nữa đã được lấy từ bộ nhớ.Với kiến trúc này việc gặp các mã tuyến
tính không gặp vấn đề gì tuy nhiên với các lệnh rẽ nhánh sẽ dùng tới thao tác
lấy lệnh dựa trên suy đoán.Khi gặp các lệnh rẽ nhánh gián tiếp thì không thể
thực thi được việc lấy lệnh dựa trên suy đoán do đó phải làm rỗng đường ống.


Thanh ghi

CPU Cortex gồm 16 thanh ghi 32 bit trong đó :
- R0->R12 là các thanh ghi đơn giản, dùng để thực hiện các phép toán xử lí.
- R13->R15 phục vụ cho các chức năng đặc biệt.

R13 dùng làm thanh ghi con trỏ ngăn xếp (stackpointer) thanh ghi này được
chia thành nhóm (Banked) cho phép CPU Cortex có 2 chế độ hoạt động Thread
và Handler. Các chế độ có không gian ngăn xếp riêng.CPU Cortex có 2 ngăn
xếp là Main Stack và Process Stack.
R14 là thanh ghi liên kết (link register) dùng để lưu trữ các địa chỉ trở về khi
thủ tục được thực hiện.Điều này cho phép thực hiện rất nhanh việc nhập và
thoát một thủ tục( do trước đây việc thực hiện thủ tục thì địa chỉ được PUSH
vào ngăn xếp ).Tuy nhiên khi chương trình gọi sâu vào nhiều lớp con thì trình
biên dịch sẽ tự động lưu R14 vào ngăn xếp.
R15 là thanh ghi bộ đếm chương trình nó có thể đọc và thao tác như bất kì
thanh ghi khác.
Ngoài tập thanh ghi trung tâm còn có 1 thanh ghi nữa là xPSR ,gọi là thanh
ghi trạng thái chương trình ( Program Status Register) chỉ có thể truy cập qua 2
lệnh chuyên dụng là MRS và MSR,hoặc qua 3 biệt hiệu đặc biệt cho phép truy
cập vào các bit trong xPSR.

+ 5 bit đầu tiên là cờ mã điều kiện và được gán biệt hiệu như thanh ghi trạng
thái chương trình .Gồm N (Negative),Z (Zero), C (Carry),V (overflow) .Các bit
này sẽ được thiết lập và xóa tùy theo kết quả xử lí dữ liệu.bit Q được dùng trong
các lệnh toán học DPS để chỉ ra một biến đã đạt giá trị tối đa hoặc tối thiểu của
nó.

10


Đồ án: Truyền ảnh qua module không dây

+

Các bit từ 8->26 của xPSR là bit ứng với biệt hiệu thanh ghi trạng thái

chương trình thực thi.Gồm 3 trường “If Then”;trường “interrupt continuable
instruction” và trường lệnh Thumb.Khi thực hiện các lệnh If Then khi kiểm tra
điều kiện đúng thì nó thiết lập một giá trị trong vùng IT báo cho CPU thực thi
lên đến 4 lệnh.Nếu kiểm tra sai các lệnh đi qua đường ống như lệnh NOP.Các
lệnh thumb-2 thực thi trong một chu kì đơn ,ngoài một số lệnh như load ,store
cần nhiều chu kì hơn.Vì vậy trong khi thực hiện có thể ngắt xảy ra,khi có ngắt
vùng ICT sẽ lưu lại số các thanh ghi tiếp theo được dùng trong lệnh load /store
nhiều dữ liệu cùng lúc.trường Thumb nếu được thiết lập thì nó thông báo rằng
tập lệnh đang thực thi là tập lệnh thumb.Trường thông tin ngắt chứa thông tin
về yêu cầu ngắt đã được yêu tiên trước.
Các chế độ hoạt động.



Trong Cortex có 2 chế độ hoạt động như đã đề cập phần thanh ghi R 13 đó là:

chế độ Thread và chế độ Handler. Chế độ Thread hoạt động khi không có ngắt.
Còn Handler thực thi khi có ngắt. Ngoài ra CPU Cortex có 2 chế độ thực thi đó
là Privileged và Non-Privileged.
+ Chế độ Privileged có thể thực thi tất cả các lệnh .
+ Chế độ Non-Privileged có một số lệnh bị cấm như (MSR,MRS) đây là các
lệnh truy cập vào thanh ghi xPSR ,việc truy cập vào các thanh ghi điều khiển hệ
thống cũng bị cấm.
Ta có bảng cấu hình truy cập các ngăn xếp của các chế độ :



Privileged

Non-Privileged

Thread

Main/Process

Main/Process

Handler

Main

Không được cấu
hình

Kỹ thuật bit-banding


11


Đồ án: Truyền ảnh qua module không dây

Hình 0.1Kỹ

thuật chia band trong STM32

Đây là kĩ thuật tạo nên sự hoàn chỉnh của xử lí ARM Cortex. Các dòng ARM
trước như ARM7, ARM9 chỉ có thể thực hiện thao tác các bit thông qua các phép
toán AND, OR .Việc thực hiện này đòi hỏi cần có các thao tác đọc ,sửa và ghi thanh
ghi do vậy tốn nhiều chu kì lệnh để thực hiện. Để khắc phục nhược điểm này Cortex
đã thực hiện giải pháp tạo ra khu vực định trị bit trên bản đồ nhớ Cortex gồm vùng
bit-band lên tới 1Mbyte bộ nhớ thực và thanh ghi ngoại vi và vùng biệt hiệu bitband (Bit band alias region ). Dải bit-band này hoạt động bằng cách ánh xạ một bit
trong vùng bit-band đến 1 word(32 bit) địa chỉ trong vùng biệt hiệu bit-band.
Trong thực tế chúng ta phải thực hiện tính toán địa chỉ word trong vùng bit-band
alias region cho 1 vị trí bộ nhớ nhất định trong không bộ nhớ SRAM hoặc thiết bị
ngoại vi. Công thức tính như sau:
+ Địa chỉ trong khu vực bit-band alias =bit-band alias region base+bit word
offset.
+ Bit word offset = byte offset from bit band base x 0x20 + bitnumber x4
2.1.1.2 Kiến trúc chung của STM32
Dải Bit của vùng bộ nhớ SRAM và các ngoại vi
 Bộ xử lí Cortex
Bộ xử lí Cortex là sự kết hợp với nhiều thiết bị ngoại vi như: bus, system timer…
Bus-Ma trận Bus.
12



Đồ án: Truyền ảnh qua module không dây

Kiến trúc Bus của bộ xử lí Cortex là kiến trúc Havard tức bus-I và bus-D riêng
biệt. Cả bus-I và bus-D có thể truy cập vào không gian địa chỉ từ 0x20000000 ->
0x1FFFFFFF. Ngoài ra còn có một bus hệ thống được bổ sung để truy cập không
gian điều khiển trong không gian 0x20000000 -> 0xDFFFFFFF và 0xE0100000 ->
0FFFFFFF. Hệ thống gỡ lỗi trên chip có thêm một cấu trúc gọi là bus ngoại vi riêng.
Bus hệ thống và bus dữ liệu được kết nối với bên ngoài thông qua một tập các
bus tốc độ cao sắp xếp như là một ma trân bus. Nó cho phép một số đường dẫn song
song giữa bus Cortex và các bus chủ khác như các DMA với các thiết bị bên ngoài.
Do vậy ta có thể truy cập tới CPU qua các DMA hoặc quá bus Cortex.
 Giới thiệu STM32

STM32 là dòng vi điều khiển của hãng ST dựa vào nền tảng lõi xử lí Cortex M3
của ARM. ST đưa ra thị trường 4 dòng dựa trên ARM7 và ARM9 nhưng STM32 là
một bước tiến trên đường cong chi phí.
STM32 gồm 14 biến thể được phân thành 2 nhóm :
+ Dòng Performance có tần số hoạt động của CPU lên tới 72 Mhz.
+ Dòng Access có tần số hoạt động lên tới 36 Mhz.Tuy nhiên có ít các ngoại
vi hơn dòng Performance.
Hiện nay ST đưa ra thêm 2 dòng nữa là USB Access và Connectivity. Các biến
thể STM32 tương thích hoàn toàn về sơ đồ chân rất tiện cho thiết kế mạch in.
Trong các nhóm lại được phân theo số lượng các thiết bị ngoại vi hỗ trợ, kích
thước bộ nhớ flash mà chia thành các thiết bị với mật độ tích hợp khác nhau như:
low density divices, medium density divices, high density divices, xl-line density
divices, connectivity line divices.
Cách chọn loại ví xử lý như sau:
STM32 F 103 x y z a
Trong đó:
F: general purpose

103: là một biến thể thuộc nhóm Performance
x: nếu là R: là loại 64 chân.
nếu là V: là loại 100 chân.
nếu là Z: là loại 144 chân.
y: nếu là C: là loại 256 kb flash.
nếu là D: là loại 384 kb flash.
nếu là E: là loại 512 kb flash.
z: nếu là H: thì đây là kiểu đóng gói PGA.
nếu là T: thì đây là kiểu đóng gói LQFP.
a: nếu là 6 thì nhiệt độ cho phép là từ -40->85oc.
nếu là 7 thì nhiệt độ cho phép là từ -40->105oc.
13


Đồ án: Truyền ảnh qua module không dây

Dòng vi điều khiển nhóm dùng trong đồ án là loại STM32F103VET6.
Bộ nhớ trong của STM32
STM32 tuân theo tiêu chuẩn phân bố bộ nhớ của Cortex. Vùng nhớ code chia
làm 3 vùng nhỏ
+Vùng User Flash dùng chứa code người dùng.

+Vùng System memory có độ lớn 4kb được nhà sản xuất cài bootloader.
Bootloader dùng để tải chương trình thông qua Usart1 và chứa trong User Flash.
+Vùng Option byte chứa thông tin cấu hình STM32.
Hình 2.2 Cấu trúc bộ nhớ trong của STM32
Phần chuyển từ nạp dữ liệu sang chương trình thực thi sẽ được giới thiệu tiếp
trong phần mạch nạp.
Xung nhịp:
STM32 ngoài hỗ trợ 2 bộ tạo xung nhịp ngoài nó còn cung cấp thêm 2 bộ tạo

dao động nội.
+ High speed internal oscillator hoạt động ở mức 8 Mhz.
+ Low speed internal oscillator hoạt động ở mức 32768 Khz được dùng cho
đồng hồ thời gian thực.
Dù xung nhịp được lấy từ bộ tạo dao đông nội hay ngoại thì xung cung cấp cho
nhân Cortex đều được lấy từ đầu ra bộ PLL. Sau khi hệ thống reset xung nhịp được
tạo ra từ dao động nội được STM32 nhận. Khi muốn sử dụng xung nhịp ngoài ta
phải cấu hình:
RCC->CR |=0x10000; //HSE on
While(!(RCC->CR & 0x00200))
{};

14


Đồ án: Truyền ảnh qua module không dây

Khi xung nhịp đi vào ổn định, sẽ có một bit trạng thái được bật (trạng thái thanh
ghi điều khiển RCC->control), khi đó nó được chọn là đầu vào của bộ PLL. Bộ PLL
cần được cấu hình bội số nguyên trong thanh ghi RCC->PLL để tạo xung nhịp cần
thiết cho CPU.
Sơ đồ chân chip
Chip thuộc dòng LQFP 100 chân, sơ đồ chân được thể hiện chi tiết trong hình dưới
đây:

Hình 2.3 Sơ đồ chân STM32
2.1.2 Mô-đun camera FIFO OV7725
2.1.2.1 Giới thiệu chung
Cảm biến hình ảnh OV7725 CAMERACHIP là thiết bị CMOS hoạt động ở điện
áp thấp cung cấp đầy đủ chức năng của một camera VGA chip đơn và một khối xử

lý hình ảnh trong một cấu trúc nhỏ. Nó cung cấp đầy đủ khung hình, các mẫu phụ
hoặc cửa sổ hình ảnh 8-bits/10-bits với dải định dạng rộng, điều khiển thông qua
giao diện SCCB- Serial Camera Control Bus.
15


Đồ án: Truyền ảnh qua module không dây

OV7725 có mảng hình ảnh có thể vận hành lên tới 60 khung hình/s VGA với đầy
đủ chức năng điều khiển chất lượng hình ảnh, định dạng và truyền dữ liệu đầu ra.
Tất cả chức năng xử lý ảnh được yêu cầu bao gồm phơi sáng, cân bằng sáng, điều
chỉnh dải màu và nhiều hơn nữa đều có thể được lập trình thông qua giao diện
SCCB. Thêm vào đó, các cảm biến thuộc họ OmniVision sử dụng kỹ thuật cảm biến
độc quyền để cải thiện chất lượng hình ảnh bằng cách giảm thiểu hoặc loại bỏ các
nguồn nhiễu, giúp chất lượng hình ảnh luôn ổn định.

Hình 2.4 Mô-đun camera OV7725
2.1.2.2 Tính năng




Độ nhạy cao trong môi trường ánh sáng yếu
Giao diện SCCB chuẩn
Đầu ra hỗ trợ định dạng Raw RGB, RGB (RGB 4:2:2, RGB 565/555/444)

và YCbCr(4:2:2)
• Hỗ trợ kích thước hình ảnh : VGA, QVGA và các kích thước khác đến




40x30
Phương pháp VarioPixel cho các mẫu phụ
Các chức năng tự động điều khiển hình ảnh như: Tự động điều chỉnh phơi
sáng (AEC), Tự động điều khiển độ lợi (AGC), Tự động cân bằng sáng
(AWB), Tự động lọc băng thông (ABF), và tự động hiệu chỉnh Black-



Level(ABLC)
Chức năng kiểm soát chất lượng hình ảnh bao gồm: độ bão hòa màu sắc,
gamma, độ sắc nét và độ chói
16


Đồ án: Truyền ảnh qua module không dây







ISP bao gồm giảm thiểu nhiễu và sửa chữa khiếm khuyết
Điều khiển Lens
Tự động điều chỉnh mức bão hòa (UV adjust)
Tự động điều chỉnh độ sắc nét
Tự động chống nhiễu
Đồng bộ khung


2.1.2.3 Sơ đồ chân của OV7725
Chíp xử lý hình ảnh này có 28 chân được thể hiện trong hình sau:

17


Đồ án: Truyền ảnh qua module không dây

Hình 2.5 Sơ đồ chân của mô-đun camera OV7725
2.1.2.4 Các khối chức năng

Hình 2.6 Sơ đồ các khối chức năng của mô-đun camera OV7725
Mảng cảm biến hình ảnh
Cảm biến OV7725 có mảng hình ảnh 656x488 pixelss cho tổng số 320,128
pixels , trong đó 640x480 pixels được hoạt động (307,200 pixels). Hình dưới đây
cho thấy các thành phần của mảng cảm biến ảnh.

Hình 2.7 Các thành phần cảm biến hình ảnh
Bộ định thời
Về tổng thể, bộ định thời thực hiện các chức năng sau:
18


Đồ án: Truyền ảnh qua module không dây







Kiểm soát các mảng và tạo khung
Tạo ra tín hiệu định thời nội và phân phát
Định thời tốc độ phát khung
Điều khiển tự động phơi sáng (AEC)
Các đầu ra định thời ngoài (VSYNC,HREF/HSYNC,PCLK)

Khối xử lý tín hiệu tương tự
Khối này hiệu chỉnh tất cả chức năng hình ảnh tương tự bao gồm:



Tự động điều chỉnh độ lợi (AGC)
Tự động cân bằng sáng (AWB)

Khối chuyển đổi A/D
Sau khối xử lý tương tự, các mẫu tín hiệu Raw được cung cấp tới bộ chuyển đổi
tương tự số 10 bits được chia thành các kênh G và BR. Khối này hoạt động ở tốc độ
lên tới 12MHz và đồng bộ hoàn toàn với tốc độ pixel.
Thêm vào đó A/D conversion còn có các chức năng sau:




Hiệu chuẩn điện tử Black-Level
Tùy chọn trễ kênh U/V
Điều khiển dải A/D

Về tổng thể, sự kết hợp của bộ A/D Range Multiplier và A/D Range Control thiết
lập dải A/D và giá trị tối đa cho phép người dùng điều chỉnh độ sáng cuối cùng của
hình ảnh như một chức năng ứng dụng riêng.

Khối tạo mẫu thử
Khối tạo mẫu thử có các chức năng sau:



Tạo thanh mẫu thử 8 màu
Dịch “1” ở chân đầu ra

Khối xử lý tín hiệu số
Khối này điều khiển sự nội suy từ dữ liệu Raw sang RGB và kiểm soát chất lượng
ảnh.



Độ sắc nét (bộ lọc thông cao 2 chiều)
Chuyển đổi không gian màu(có thể thay đổi dữ liệu Raw sang RGB hoặc

YUV/YCbCr)
• Ma trận RGB giảm thiểu nhiễu màu
• Kiểm soát màu và độ bão hòa
• Kiểm soát lập trình gamma
19


Đồ án: Truyền ảnh qua module không dây


Chuyển dữ liệu 10-bit sang 8-bit

Khối hình ảnh

Khối này điều khiển tất cả đầu ra và định dạng dữ liệu được yêu cầu để gửi hình
ảnh ra. Nó chuyển đổi đầu ra YUV/RGB từ VGA tới CIF và hầu hết các kích thước
nhỏ hơn CIF.
Cổng Video số
Thanh ghi COM2[1:0] tăng dòng điều khiển I OL/IOH và có thể được điều chỉnh
như một chức năng của ngoại vi.
Giao diện SCCB
Giao diện SCCB là giao diện điều khiển hoạt động của cảm biến. Đây chính là
giao diện giữa camera và vi điều khiển trung tâm. Giao diện này gồm hai đường
SCL và SDA tương đương với chuẩn I2C.
Để thiết lập chế độ hoạt động cho Camera, ta sẽ thiết lập các thanh ghi của nó bao
gồm 42 thanh ghi ghi và 43 thanh ghi đọc.
 Trong đồ án này, Camera được sử dụng với cấu hình như sau:
• Định dạng ảnh RGB 565
• Kích thước QVGA
• Tốc độ quét 30 hình/s

20


Đồ án: Truyền ảnh qua module không dây

2.1.2.5 Kết nối chip camera với chip nhớ đệm AL422B

Hình 2.8 Sơ đồ kết nối chip xử lý hình ảnh trong mô-đun OV7725

Dữ liệu được đưa ra 8 chân từ D2 đến D9 của camera. 8 chân này được kết nối
với bộ FIFO AL42B có khả năng lưu trữ với dung lượng bằng kích thước 3 khung
ảnh 320x240.
Vi điều khiển trung tâm sẽ lấy dữ liệu vẫn là 8 bit không bị thay đổi nhưng đã đi

qua bộ FIFO. Điều này giúp giảm ảnh hưởng của tốc độ đọc dữ liệu từ vi điều khiển
đến camera, đảm bảo tính liên tục của các khung ảnh thu về.
2.1.2.6 Kết nối với vi điều khiển trung tâm
Camera sẽ kết nối với vi điều khiển thông qua một jump cắm. Cụ thể các chân
như sau:

21


Đồ án: Truyền ảnh qua module không dây


Chân SCL và chân SDA là hai chân kết nối vi điều khiển với giao diện
SCCB của camera thực hiện cho việc cấu hình cho chế độ thu nhận ảnh của

Camera
• 8 chân từ D0 đến D7 là dữ liệu đầu ra lấy từ bộ FIFO ( dữ liệu này giống




hệt với dữ liệu từ Camera, chỉ có điều sẽ khác về thời gian do đi qua bộ trễ)
Chân XCLK cung cấp xung dao động cho hoạt động của Camera
Chân VSYNC cung cấp tín hiệu điều khiển quá trình đồng bộ ảnh
Các chân còn lại thực hiện việc cấu hình cho hoạt động của FIFO, bao gồm
việc cung cấp xung đọc dữ liệu và đưa tín hiệu thực hiện lệnh ghi ( quá
trình ghi không cần thiết trong đồ án)

Hình 2.9 Sơ đồ các chân của mô-đun Camera OV7725 trong mạch
2.1.3 Mô-đun vô tuyến NRF24L01

+ Thông số kỹ thuật:


Thông số vô tuyến
- Hoạt động ở dải tần 2.4GHz
- Có 126 kênh
- Truyền và nhận dữ liệu
- Truyền tốc độ cao 1Mbps hoặc 2Mbps
• Công suất phát
- Có thể cài đặt được 4 công suất nguồn phát 0, -6, -12, -18 dBm
• Mạch thu
- Có bộ lọc nhiễu tại đầu thu
- Khuếch đại bị ảnh hưởng bởi nhiễu thấp (LNA)
• Nguồn cấp
22


Đồ án: Truyền ảnh qua module không dây

Hoạt động từ 1,9 – 3,6V
Các chân I/O chạy được cả 3,3V và 5V
• Giao tiếp
- 4 chân SPI
- Tốc độ tối đa 8Mbps (giao tiếp SPI)
- 3-32 bytes trên 1 khung truyền nhận
• Đặc điểm
- Mô-đun nRF24L01 hoạt động ở tần số sóng ngắn 2,4 GHz nên
-

Mô-đun này có khả năng truyền dữ liệu tốc độ cao vào truyền

-

nhận dữ liệu trong điều kiện môi trường có vật cản
Mô-đun nRF24L01 có 126 kênh truyền nên giúp ta truyền nhận

-

dữ liệu trên nhiều kênh khác nhau
Mô-đun có khả năng thay đổi công suất phát bằng chương
trình, điều này giúp nó hoạt động trong chế độ tiết kiệm năng

-

lượng
Các chân I/O tương thích với chuẩn 5V nên có thể giúp nó giao

tiếp với nhiều loại vi điều khiển
+ Sơ đồ khối mô-đun nRF24L01:

Hình 2.10 Sơ đồ khối mô-đun nRF24L01
+ Sơ đồ chân:

23


Đồ án: Truyền ảnh qua module không dây

Hình 2.11 Mô-đun nRF24L01

Hình 2.12 Sơ đồ chân kết nối NRF24L01 với vi điều khiển

Trong đó:
- Chân 1: CE : chọn chế độ cho mô-đun NRF là thu hoặc phát
- Chân 2: CSN : chân chọn chip Slave qua giao diện SPI
- Chân 3: SCK : xung đồng bộ giao diện SPI
- Chân 4: MOSI: chân dữ liệu từ chip Master vào NRF
- Chân 5: MISO: chân dữ liệu từ NRF vào chip Master

2.2 Các chuẩn màu RGB
Mục này sẽ trình bày về các chuẩn màu RGB trong kỹ thuật. Từ việc hiểu rõ về
các chuẩn này, ta sẽ chọn ra được chuẩn màu phù hợp để sử dụng, đồ án này sử
dụng chuẩn màu RGB565 để mã hóa điểm ảnh từ camera.

24


Đồ án: Truyền ảnh qua module không dây

2.2.1 Lịch sử
Sử dụng mô hình màu RGB như một tiêu chuẩn biểu thị màu trên Internet có
nguồn gốc từ các tiêu chuẩn cho ti vi màu năm 1953 của RCA và việc sử dụng tiêu
chuẩn RGB bởi Edwin Land trong các camera Land / Polaroid.
Mô hình màu RGB sử dụng mô hình bổ sung trong đó ánh sáng đỏ, xanh lá
cây và xanh lam được tổ hợp với nhau theo nhiều phương thức khác nhau để tạo
thành các màu khác. Từ viết tắt RGB trong tiếng Anh có nghĩa là đỏ (RED), xanh lá
cây (GREEN) và xanh lam (BLUE), là ba màu gốc trong các mô hình ánh sáng bổ
sung.

Hình 2.13 Phối trộn từ 3 màu cơ bản
2.2.2 Cơ sở sinh học
Các màu gốc có liên quan đến các khái niệm sinh học hơn là vật lý, nó dựa trên

cơ sở phản ứng sinh lý học của mắt người đối với ánh sáng. Mắt người có các tế bào
cảm quang có hình nón nên còn được gọi là tế bào hình nón, các tế bào này thông
thường có phản ứng cực đại với ánh sáng vàng - xanh lá cây (tế bào hình nón L),
25


×