Tải bản đầy đủ - 0 (trang)
CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG

CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG

Tải bản đầy đủ - 0trang

Dòng ARM Cortex là một bộ xử lý thế hệ mới đưa ra một kiến trúc cho nhu cầu đa

dạng về cơng nghệ, khơng giống các chip ARM khác, dòng Cortex là một lỗi xử lý hoàn

thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống.Dòng Cortẽ gồm có 3 phân nhánh

chính: Dòng A dành cho các ứng dụng cao cấp, dòng R dành cho các ứng dụng thời gian

thực như các đầu đọc và cuối cùng là dòng M dành cho các ứng dụng vi điều khiển và chi

phí thấp.STM 32 được thiết kế dựa trên dòng Cortex – M3, dòng này được thiết kế đặc

biệt để nâng cao hiệu suất hệ thống, kết hợp với tiêu thụ năng lượng thấp. Cortex – M3

đưa ra một lõi vi điều khiển chuẩn nhằm cung cấp phần tổng quát, quan trọng nhất của

một vi điều khiển, bao gồm hệ thống ngắt ( interrupt system), SysTick timer ( được thiết

kế cho hệ điều hành thời gian thực), hệ thống kiểm lỗi ( debug system) và các memory

map.

Không gian địa chỉ 4 Gbyte của Cortex –M3 được chi thành các vùng cho mã

chương trình, SRRAM, ngoại vi và ngoại vi hệ thống. Cortex –M3 được thiết kế theo kiến

trúc Harvard ( bộ nhớ chương trình và bộ nhớ dữ liệu tách biệt nhau), và có nhiều bus cho

phép thực hiện các thao tác song song với nhau, do đó làm tăng hiệu suất của chíp.Dòng

Cortex cho phép truy cập dữ liệu khơng xếp hàng, đặc điểm này cho phép sử dụng hiệu

quả SRAM nội. Dòng Cortex còn hỗ trợ việc đặt và xóa các bít bên trong 2 vùng 1 Mbyte

của bộ nhớ bằng phương pháp gọi là bít banding. Đặc điểm nà cho phép truy cập hiệu quả

tới các thanh ghi ngoại vi và các cờ được dùng trên bộ nhớ SRAM mà khong cần một bộ

xử lý luận lý.

Khối trung tâm của STM32 là bộ xử lý Cortex-M3. Bộ xử lý Cortex-M3 là một vi

điều khiển được tiêu chuẩn hóa gồm một CPU 32bit, cấu trúc bus ( bus structure), đơn vị

xử lý ngắt có hỗ trợ tính năng lồng ngắt vào nhau.

3.1.2



Một vài đặc điểm nối bật của STM32



STM32 là dòng vi điều khiển tiến tới mục tiêu giảm chi phí và nâng hiệu suất hoạt

động. STM32 đầu tiên gồm 14 biến thể khác nhau, được phân thành 2 nhóm: dòng

Performance có tần số hoạt ođọng của CPU lên tới 72Mhz và dòng Access có tần số hoạt

động lên tới 36Mhz. Các biến thể STM32 trong hai này tương thích hồn tồn về cách bố

trí chân và phần mềm, đồng thời kích thước bộ nhớ FLASH ROM có thể lên tới 128K và

20K SRAM.



Đồ án thiết kế hệ thống Nhúng



Trang 7



Hình 3.1.2.1 : Kiến trúc của STM32 nhánh Performance và Access

3.1.3 Sự tinh vi



STM32 cũng giống như những vi điều khiển khác : có 2 bộ chuyền đối ADC, timer,

I2C, SPI, CAN, USB và RTC. Tuy nhiên mỗi ngoại vi đều có rất nhiều đặc điểm thú vị.

Mỗi bộ timer có 4 khối capture compare, mỗi khối timer có thể liên kết với các khối timer

khác để tạo ra một mảng các timer tinh vi. Một timer cao cấp chuyên hỗ trợ điều khiển

đồng cơ, với 6 đầu ra PWM với dead lập trình được và một đường break input sẽ buộc tín

hiệu PWM sang một trạng thái an tồn đã được cài đặt sẵn.

STM32 có hỗ trợ thêm 7 kênh DMA ( Direct Memory Access). Mỗi kênh có thể được

dùng để truyền dữ liệu đến các thanh ghi ngoại vi hoặc từ các thanh ghi ngoại vi đi với

kích thước từ dữ liệu truyền đi có thể là 8/16 hoặc 32 bít.

STM32 là một vi điều khiển tiêu thụ năng lượng thấp và đạt hiệu suất cao. Nó có thể hoạt

động ở điện áp 2V, chạy ở tần số 72Mhz và dòng tiêu thụ chỉ có 36 mA với tất cả các khối

bên trong vi điều khiển điều được hoạt động. Kết hợp với các chế độ tiết kiệm năng lượng

của Cortex, STM32 chỉ tiêu thụ 2 µA khi ở chế độ standby. Một bộ dao động nội RC

8MHz cho phép chíp nhanh chóng thốt khỏi chế độ tiết kiệm năng lượng trong khi bộ

dao động ngoài đang khởi động. Khả năng nhanh đi vào và thoát khỏi các chế độ tiết kiệm

năng lượng làm giảm nhiều sự tiêu thụ năng lượng tổng thể.

3.1.4 Sự an toàn

Với sự phát triển của kĩ thuật đòi hỏi các hệ vi xử lý phải hoạt động trong mơi

trường khắt khe, đòi hỏi tính an tồn cao, cũng như đòi hỏi sức mạnh xử lý và càng nhiều

thiết bị ngoại vi tinh vi. Để đáp ứng yêu cầu khắc khe đó, STM32 cung câp một số tính

năng phần cứng hỗ trợ các ứng dụng một cách tốt nhất. Chúng bao gồm một bộ phát hiện

điện áp thấp, một hệ thống bảo vệ xung clock và hai bộ watchdogs. Bộ đầu tiên là một

watchdog cửa sổ. Watchdog này phải được làm tươi theo định kì . Nếu nhấn nó q sớm,

hoặc q muộn, thì watchdog sẽ kích hoạt. Bộ thứ hai là một watchdog độc lập, có bộ dao

đơng bên ngồi tách biệt với xung nhịp hệ thống chính. Hệ thống bảo vệ xung nhịp có thể

phát hiện lỗ của bộ dao động chính bên ngồi và tự động chuyển sang dùng bộ dao động

nội RC 8MHz.

3.1.5 Tính bảo mật

Một trong những yêu cầu khắc khe khác của thiết kế hiện đại là nhu cầu bảo mật

mã chương tình để ngăn chặn sao chép trái phép phần mềm. Bộ nhớ flash của STM32 có

Đồ án thiết kế hệ thống Nhúng



Trang 8



thể được khóa để chống truy cập đọc flash thông qua cổng debug. Khi tính năng bảo vệ

đọc được kích hoạt, bộ nhớ Flash cũng được bảo vệ chống ghi để ngăn chạn mã không tin

cậy được chèn vào bảng vector ngắt. Hơn nữa bảo vệ ghi có thể được cho phép trong

phần còn lại của bộ nhớ flash. STM32 cũng có một đồng hồ thời gian thực và một khu

vực nhỏ dữ liệu trên SRAM được nuôi nhờ nguồn pin. Khu vực này có một đầu vào

chống giả mạo, có thể kích hoạt một sự kiện ngắt khi có sự thay đổi trạng thái ở đầu vào

này. Ngoài ra một sự kiện chống giả mạo sẽ tự động xóa dữ liệu được lưu trữ trên SRAM

được nuôi bằng nguồn pin.

3.1.6 Giới thiệu về phần GPIO trên kít arm cortex.



Kít STM32 -103RC có 3 cổng I/O đa dụng với 48 chân điều khiển. Các cổng I/O

được đánh số từ A=>C và mức áp tiêu thụ là 5v. Nhiều chân ngoại có thể được cấu hình

như là Input/\Output tương tác với các thiết bị ngoại vi riêng của người dùng như USART

hay I2C. Thêm nữa có thể cấu hình các chân này như là nguồn ngắt ngoại kết hợp với

cổng GPIO khác. Mỗi cổng GPIO đều có 2 thanh ghi 32-bit điều khiển. Như vậy ta có 64bit để cấu hình 16 chân của một cổng GPIO. Như vậy mỗi chân của cổng GPIO sẽ có 4

bít để điều khiển : 2 bit sẽ quy định hướng ra vào dữ liệu: Input hay output, 2 bít còn lại

sẽ quy định đặc tính dữ liệu.



Đồ án thiết kế hệ thống Nhúng



Trang 9



Sau khi cổng được cấu hình, ta có thể bảo vệ các thơng số cấu hình bằng cách kích

hoạt thanh ghi bảo vệ. Trong thanh ghi này, mỗi chân trong cổng đều có 1 bít bảo vệ

tương ứng để tránh các thay đổi vơ ý ở các 4 bít cấu hình. Để dễ dàng đọc và ghi dữ liệu

trên cổng GPIO, STM32 cung cấp 2 thanh ghi Input và Output data. Kĩ thuật bit banding

được hỗ trợ nhằm thực hiện các thao tác bít trên thanh ghi dữ liệu. Thanh ghi 32-bit

Set/Reset, với 16 bít cao ánh xạ tới mỗi chân của cổng điều khiển reset khi được thiết lập

giá trị 1. Tương tự vậy 16 bít thấp điều khiển Set khi được gán giá trị 1.

Các hàm GPIO thông dụng thường được sử dụng:

Tên hàm

GPIO_DelInit



Mô tả hàm

Thiết lập lại giá trị của các thiết bị ngoại vi GPIOx đã được



Đồ án thiết kế hệ thống Nhúng



Trang 10



GPIO_AFIODelInit

GPIO_Init

GPIO_StructInit

GPIO_ReadInputDataBit

GPIO_ReadInputData

GPIO_ReadOuputDataBi

t

GPIO_ReadOutputData

GPIO_SetBits

GPIO_ResetBits

GPIO_WriteBit

GPIO_Write



cài đặt mặc định từ trước

Thiết lập lại chức năng thay thế của các thiêt bị ngoại vi đã

được mặc định từ trước.

Khởi tạo các thiết bị ngoại vi GPIOx theo các thông số quy

định trong hàm GPIO_InitStruct.

Khởi tạo mỗi tham số trong GPIO_InitStruct với các giá trị

mặc định từ trước.

Đọc giá trị vào mỗi Pin của Port được chỉ định

Đọc dữ liệu vào của cả Port được chỉ định

Đọc dữ liệu ra mỗi pin của Port được chỉ định trong hàm

Đọc dữ liệu ra của cả Port được chỉ định trong hàm

Đưa Pin trên Port được chọn lên 1

Xóa Pin trên Port được chọn về 0

Đặt hoặc xóa dữ liệu của Pin trên Port được chọn

Ghi dữ liệu theo cả cổng vào các GPIO được chọn



3.2 Hệ thống cảm biến

3.2.1 Sơ đồ khối của hệ thống như sau:



Đ



Đ



Đ



Đ



C

B



C



C



C



Đồ án thiết kế hệ thống Nhúng



Opamp



Khối

Nguồn



Trang 11



Trong đó: - Hình tròn màu vàng tượng trưng cho đèn led

Hình tròn màu đỏ tượng trưng cho cảm biến

Hình chữ nhật màu đen-trắng tượng trưng cho điôt để phân áp

Opamp sử dụng trong mạch là LM324

Mũi tên đen biểu thị cho tín hiệu vào khối

-



3.2.2 Các linh kiện cấu thành mạch

3.2.2.1 Led

Led trắng, xanh lam, vàng cho cường độ ánh sáng mạnh nhất dễ tác động lên cảm

biến, nhưng trong quá trình làm thực tế thì nhóm chọn led vàng vì nó làm cho cảm biến

nhạy nhất với vạch đen và vạch trắng.



3.2.2.2. Quang trở

Khi không được chiếu sáng điện trở của quang trở khoảng 180 000 ohms. Khi

được chiếu sáng , điện trở này xuống rất thấp.



Đồ án thiết kế hệ thống Nhúng



Trang 12



Quang trở trong mạch được lắp theo sơ đồ như hình bên dưới để nhận biết vạch:



Hoạt động của quang trở trong mạch như sau:

Mắc các linh kiện như sơ đồ hình vẽ thì Up=12

U N = 12

Ta quy ước trên sơ đồ nguyên lý khi có đèn chiếu vào quang trở tương đương với khi

cảm biến ở ngồi vạch trắng ở mạch thật và khi khơng có đèn chiếu sáng ở sơ đồ nguyên

lý tương đương với khi cảm biến ở trong vạch đen ở mạch thật.

+ Khi khơng có ánh sáng chiếu vào quang trở thì điện trở của quang trở vơ cùng lớn,

max có thể đạt 180 kΩ, làm cho UP
mức logic 0).

+ Khi có ánh sáng chiếu vào quang trở thì điện trở của quang trở giảm xuống rất nhỏ, có

thể xấp xỉ 0 Ω, làm cho UP >UN, làm điện áp đầu ra bằng

+Ura max = ~ 80%

*UV =0.8*5V= ~ 4V ( ứng với mức logic 1) .



Đồ án thiết kế hệ thống Nhúng



Trang 13



=> Hiểu một cách đơn giản thì khi có ánh sáng chiếu vào quang trở thì đầu ra của opamp

mang mức logic 1, còn khi khơng có ánh sáng chiếu vào quang trở thì đầu ra của opamp

mang mức logic 0.

3.2.2.3. Điện trở

Điện trở kháng là đại lượng vật lý đặc trưng cho tính chất cản trở dòng điện của

Điện trỏ . Điện trở kháng được định nghĩa là tỉ số của hiệu điện thế giữa hai đầu vật thể

đó với cường độ dòng điện đi qua nó:



trong đó:

U: là hiệu điện thế giữa hai đầu vật dẫn điện, đo bằng vôn (V).

I: là cường độ dòng điện đi qua vật dẫn điện, đo bằng ampe (A).

R: là điện trở của vật dẫn điện, đo bằng Ohm (Ω).

Trong mạch cảm biến này thì điện trở làm 2 nhiệm vụ hạn dòng và phân áp:

+ Điện trở hạn dòng cho Led và quang trở sử dụng trở 100 ohm.



+ Điện trở để phân áp dùng điện trở 510 ohm.



3.2.2.4. Opamp

Opamp , như tên gọi của nó, ban đầu được chế tạo ra để sử dụng cho các thao tác

tính tốn analog. Người ta gọi nó là mạch khuếch đại thuật toán, và với kết cấu của nó,

chỉ bằng sự thay đổi các linh kiện bên ngồi, người ta có thể là được rất nhiều bài tốn

khác nhau: cộng, trừ, nhân, chia, vi phân, tích phân, …

Những opamp đầu tiên được chế tạo bằng linh kiện rời, thành những khối độc lập,

với nguyên lý khác hẳn bây giờ, dùng mạch băm để biến đổi một chiều thành xoay chiều,

khuếch đại điện áp sau khi băm và cuối cùng đầu ra là mạch tách sóng nhạy pha. Sau này

khi kĩ thuật vi mạch hoàn thiện, người ta có được sự đồng nhất tương đối giữa các phần tử

Đồ án thiết kế hệ thống Nhúng



Trang 14



trên chíp, người ta không phải lo nghĩ nhiều về việc trôi điện áp, nên không cần thiết đến

kĩ thuật băm điện áp nữa.

Từ việc dùng cho mạch tính tốn trong các máy tính tương tự ngày xưa, người ta

phát hiện ra nó còn có thể ứng dụng trong rất nhiều lĩnh vực khác nữa: Khuếch đại, so

sánh, chuyển đổi tín hiệu, ….

LM324 là bộ gồm 4 mạch khuếch đại thuật toán (operational amplifier, op amp,

opamp) độc lập giống hệt nhau được đặt trong cùng một vỏ bọc.



Thông thường một bộ khuếch đại thuật tốn (Op-Amp) thì cần phải có nguồn đơi.

Tức là phải có nguồn dương và nguồn âm. Chẳng hạn như Opamp 741.

Tuy nhiên các Opamp trong LM324 được thiết kế đặc biệt để sử dụng với nguồn

đơn. Tức là bạn chỉ cần Vcc và GND là đủ.

Một điều đặc biệt nữa là nguồn cung cấp của LM324 có thể hoạt động độc lập với

nguồn tín hiệu. Ví dụ nguồn cung cấp của LM324 là 5V nhưng nó có thể làm việc bình

thường với nguồn tín hiệu ở ngõ vào V+ và V- là 15V.

 Vấn đề cần quan tâm khi thiết kế mạch với IC LM324:

- Điện áp cung cấp: Nguồn cung cấp cho LM324 tầm từ 5V~32V.

- Áp tối đa ngõ vào: từ 0~32V đối với nguồn đơn và cộng trừ 15V đối với nguồn đôi.

- Công suất của Lm324 loại chân cắm (Dip): khoảng 1W

Đồ án thiết kế hệ thống Nhúng



Trang 15



- Điện áp ngõ ra: từ 0 ~ (Vcc - 1,5V).

+Dòng ngõ ra khi mắc theo kiểu đẩy dòng (dòng Sink): dòng đẩy tối đa đạt

được 20mA.

+Dòng ngõ ra khi mắc theo kiểu hút dòng (dòng Souce): dòng hút tối đa có thể lên

đến 40mA.

- Tần số hoạt động của LM324: 1MHz

- Độ lợi khuếch đại điện áp DC của LM324 tối đa khoảng 100 dB.





3.2.2.5. Khối phân áp:

Điốt Zener, còn gọi là "điốt đánh thủng" hay "điốt ổn áp" là loại điốt được chế tạo tối

ưu để hoạt động tốt trong miền đánh thủng. Khi sử dụng điốt này mắc ngược chiều lại,

nếu điện áp tại mạch lớn hơn điện áp định mức của điốt thì điốt sẽ cho dòng điện đi qua

(và ngắn mạch xuống đất bảo vệ mạch điện cần ổn áp) và đến khi điện áp mạch mắc bằng

điện áp định mức của điốt - Đây là cốt lõi của mạch ổn áp.

Ta có kít arm cortex hiểu mức logic 0 ( 0v -0.8v), mức logic 1 (0.8v-3v). Như trên đã

phân tích thì đầu ra mức cao của opamp so sánh là 4v, với mức điện áp này thì khơng thể

giao tiếp được với kít ( hay nói cách khác là khơng tương thích TTL) do đó ta phải sử

dụng diode zener 3,3v để phân áp lấy điện áp từ điện áp đầu ra của opamp so sánh để tạo

mức điện áp phù hợp giao tiếp với kít.



3.2.2.6 Jump



Đồ án thiết kế hệ thống Nhúng



Trang 16



3.2.2.7 . Tụ lọc nguồn

Tụ điện được sử dụng rất nhiều trong kỹ thuật điện và điện tử, trong các thiết bị

điện tử, tụ điện là một linh kiện không thể thiếu đươc, mỗi mạch điện tụ đều có một cơng

dụng nhất định như truyền dẫn tín hiệu , lọc nhiễu, lọc điện nguồn, tạo dao động ..vv... Và

trong mạch này tụ được sử dụng chủ yếu với chức năng lọc nguồn để tạo điện áp một

chiều phẳng cung cấp cho tải tiêu thụ, tụ điện có điện dung càng lớn thì điện áp DC càng

phẳng.



Hình 3.1 Điện áp đầu ra không được lọc nguồn bằng tụ



Đồ án thiết kế hệ thống Nhúng



Trang 17



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG

Tải bản đầy đủ ngay(0 tr)

×