DẪN NHẬP
ĐẶT VẤN ĐỀ
Hiện nay, với sự phát triển mạnh mẽ của công nghệ và internet, cuộc sống con người ngày càng cần được bảo vệ và nâng cao Việc xây dựng hệ thống điều khiển các thiết bị điện trong gia đình qua mạng internet trở nên cần thiết, giúp tiết kiệm thời gian và nâng cao tiện nghi Công nghệ điện tử, đặc biệt là kỹ thuật điều khiển từ xa, đóng vai trò quan trọng trong nhiều lĩnh vực như khoa học kỹ thuật, quản lý và công nghiệp Sinh viên ngành điện tử cần nắm bắt và ứng dụng công nghệ này hiệu quả để góp phần vào sự phát triển của nền khoa học kỹ thuật toàn cầu và thúc đẩy kinh tế trong nước.
LÝ DO CHỌN ĐỀ TÀI
Kit ARM Cortex M3 là một sản phẩm mới trên thị trường, được ứng dụng để điều khiển các thiết bị điện trong nhà thông qua màn hình cảm ứng LCD và internet Đây là một lĩnh vực nghiên cứu chưa từng được sinh viên nào thực hiện, mở ra cơ hội mới trong việc điều khiển thiết bị Với mong muốn ứng dụng công nghệ mới vào thực tiễn nhằm mang lại sự tiện lợi cho người sử dụng, chúng tôi đã chọn đề tài này cho nghiên cứu tốt nghiệp của mình.
Hệ thống thiết bị điện thông minh được điều khiển từ xa qua internet, cho phép người dùng quản lý các thiết bị như bóng đèn, quạt, tivi, máy giặt và tủ lạnh thông qua màn hình cảm ứng LCD hoặc webserver đã lập trình Tất cả các thiết bị này có khả năng giao tiếp với nhau nhờ vào bộ vi xử lý đã được lập trình sẵn, tạo nên một ngôi nhà thông minh Người dùng có thể dễ dàng điều khiển các thiết bị từ xa, chẳng hạn như tắt quạt, đèn hay bật máy điều hòa chỉ với một thao tác trên điện thoại thông minh Hệ thống còn đảm bảo tính bảo mật bằng cách yêu cầu mật khẩu để truy cập vào chức năng điều khiển.
Với sự phát triển mạnh mẽ của mạng 3G và Internet, cùng với những yêu cầu ngày càng cao trong cuộc sống, chúng em đã quyết định chọn đề tài này để đáp ứng nhu cầu thực tế.
Ứng dụng KIT ARM trong việc điều khiển các thiết bị điện trong nhà không chỉ đáp ứng nhu cầu ngày càng cao của con người mà còn góp phần vào sự tiến bộ và hiện đại hóa xã hội.
Với sự phát triển không ngừng của khoa học kỹ thuật, thị trường thiết bị điện tử ngày càng đa dạng về chủng loại và tính năng Nhu cầu sử dụng các thiết bị tiện ích và thẩm mỹ ngày càng tăng cao, khi con người tìm kiếm nhiều hơn các sản phẩm giải trí và sinh hoạt với công nghệ tiên tiến Mặc dù Việt Nam chưa phát triển mạnh mẽ trong lĩnh vực này, nhưng xu hướng toàn cầu, đặc biệt ở các quốc gia Châu Âu, đang chứng tỏ sự bùng nổ trong ngành công nghiệp điện tử.
Mỹ thì mô hình điều khiển các thiết bị điện từ xa đã phát triển mạnh mẽ.
Nhóm chúng tôi hướng đến việc áp dụng các kỹ thuật hiện đại vào thực tiễn trong nước, nhằm phát triển một hệ thống điều khiển thiết bị gia đình từ xa qua webserver Mục tiêu là đáp ứng nhu cầu ngày càng cao của người tiêu dùng trong việc quản lý và sử dụng thiết bị thông minh.
−Lập trình một webserver đơn giản để điều khiển thiết bị.
−Với thời lƣợng và kiến thức có hạn, trong đề tài này nhóm em chỉ thực hiện đƣợc điều khiển thiết bị cơ bản.
Sử dụng mạng WiFi qua giao diện web cho phép điều khiển các thiết bị và nhận dữ liệu phản hồi về trạng thái hoạt động ON/OFF của chúng Hệ thống cũng được thiết kế với màn hình điều khiển hiển thị trên LCD cảm ứng của kit.
Trong đề tài này nhóm tôi đã sử dụng các phương pháp nghiên cứu:
−Phương pháp tham khảo tài liệu : Bằng cách thu thập thông tin từ sách, tạp chí về điện tử và truy cập từ internet.
−Phương pháp quan sát : Khảo sát một số mạch điện thực tế đang có trên thị trường và tham khảo thêm một số dạng mạch từ internet.
Phương pháp thực nghiệm của nhóm tôi dựa trên việc kết hợp các ý tưởng và kiến thức sẵn có với sự hướng dẫn từ giáo viên, qua đó chúng tôi đã tiến hành lập trình và thử nghiệm hệ thống điều khiển.
Dựa vào phương hướng thực hiện đề tài, các nội dung chính cần được tìm hiểu và thực hiện nhƣ sau:
- Chương 1: Giới thiệu - đưa ra lý do chọn đề tài, mục tiêu và hướng giải quyết đề tài.
- Chương 2: Cơ sở lý thuyết – nêu ra các lý thuyết liên quan đến đề tài.
- Chương 3: Thiết kế xây dựng hệ thống – trình bày thiết kế của từng khối.
- Chương 4: Thi công, kết quả đạt được và nhận xét.
- Chương 5: Kết luận và hướng phát triển.
GIỚI HẠN ĐỀ TÀI
−Lập trình một webserver đơn giản để điều khiển thiết bị.
−Với thời lƣợng và kiến thức có hạn, trong đề tài này nhóm em chỉ thực hiện đƣợc điều khiển thiết bị cơ bản.
Ý TƯỞNG THIẾT KẾ
Sử dụng mạng WiFi qua giao diện web cho phép điều khiển các thiết bị và nhận dữ liệu phản hồi về trạng thái hoạt động ON/OFF của chúng Đồng thời, thiết kế màn hình điều khiển trên LCD cảm ứng của kit giúp người dùng dễ dàng quản lý và theo dõi các thiết bị.
PHƯƠNG PHÁP NGHIÊN CỨU
Trong đề tài này nhóm tôi đã sử dụng các phương pháp nghiên cứu:
−Phương pháp tham khảo tài liệu : Bằng cách thu thập thông tin từ sách, tạp chí về điện tử và truy cập từ internet.
−Phương pháp quan sát : Khảo sát một số mạch điện thực tế đang có trên thị trường và tham khảo thêm một số dạng mạch từ internet.
Nhóm chúng tôi đã kết hợp ý tưởng và kiến thức sẵn có với sự hướng dẫn của giáo viên để lập trình và thử nghiệm điều khiển theo phương pháp thực nghiệm.
BỐ CỤC ĐỀ TÀI
Dựa vào phương hướng thực hiện đề tài, các nội dung chính cần được tìm hiểu và thực hiện nhƣ sau:
- Chương 1: Giới thiệu - đưa ra lý do chọn đề tài, mục tiêu và hướng giải quyết đề tài.
- Chương 2: Cơ sở lý thuyết – nêu ra các lý thuyết liên quan đến đề tài.
- Chương 3: Thiết kế xây dựng hệ thống – trình bày thiết kế của từng khối.
- Chương 4: Thi công, kết quả đạt được và nhận xét.
- Chương 5: Kết luận và hướng phát triển.
CƠ SỞ LÝ THUYẾT
Các phương pháp điều khiển
Chúng ta có thể điều khiển và giám sát nó thông qua một thiết bị kết nối không dây ( Laptop, Điện thoại di động thông minh…).
Có rất nhiều phương pháp điều khiển các thiết bị điện trong ngôi nhà như : Wifi, Ethernet, internet và 3G.
Ưu và nhược điểm của từng phương pháp
Bảng 2.1: Ưu nhược điểm các phương pháp điều khiển thiết bị điện trong nhà.
Phương pháp điều khiển Wifi
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ WEBSERVER VÀ ENC28J60
Trong đề tài nhóm chọn phương pháp điều khiển thông qua internet 2.2 Tổng quan về webserver và ENC28J60.
Máy chủ Web là thiết bị cài đặt phần mềm để chạy Website, và đôi khi phần mềm này cũng được gọi là Web Server Tất cả các máy chủ Web đều có khả năng xử lý các file *.htm và *.html, nhưng mỗi loại máy chủ lại hỗ trợ các định dạng file chuyên biệt khác nhau, chẳng hạn như IIS của Microsoft cho *.asp và *.aspx, hay Apache dành cho *.php, và Sun Java System Web Server của SUN cho các định dạng khác.
Máy chủ Web Server là một thiết bị có dung lượng lớn và tốc độ cao, được sử dụng để lưu trữ dữ liệu, bao gồm các website đã được thiết kế cùng với các thông tin liên quan khác.
Web Server có khả năng truyền tải các trang Web đến máy khách qua Internet hoặc Intranet bằng giao thức HTTP, được thiết kế đặc biệt để gửi file đến trình duyệt Web và các giao thức khác.
Every web server has an IP address or a domain name For example, when you type http://www.abc.com.vn into your browser's address bar and press Enter, you send a request to the server associated with that domain name The server then locates the requested web page and sends it back to your browser.
Khi máy tính của bạn kết nối với Web Server và gửi yêu cầu truy cập thông tin từ một trang web, phần mềm Web Server sẽ tiếp nhận yêu cầu và cung cấp lại cho bạn những thông tin mà bạn cần.
Giống như các phần mềm khác trên máy tính, Web Server Software là một ứng dụng được cài đặt và chạy trên máy chủ, cho phép người dùng truy cập thông tin từ trang Web thông qua mạng Internet hoặc Intranet.
Phần mềm máy chủ web có khả năng tích hợp với cơ sở dữ liệu (CSDL) và quản lý kết nối đến CSDL, cho phép truy cập và xuất thông tin từ CSDL lên các trang web, từ đó truyền tải thông tin đến người dùng.
2.2.2 Hoạt động của webserver a Nguyên tắc hoạt động của webserver.
Các bước cơ bản trong tiến trình truyền tải trang web đến màn hình của bạn được thể hiện theo mô hình sau:
Hình 2.2: Nguyên tắc hoạt động của webserver [7]
Các tiến trình cơ bản
CHƯƠNG II: CƠ SỞ LÝ THUYẾT TRANG 7
Theo mô hình này, trình duyệt web bên trái kết nối với máy chủ web bên phải để yêu cầu một trang web và nhận lại nội dung Dưới đây là các bước cơ bản diễn ra sau màn hình của bạn.
Trình duyệt web tách địa chỉ website làm 3 phần:
Tên miền của máy chủ web: “https://www.noip.com/”
Tên tệp HTML: “web-server.htm”
Trình duyệt liên hệ với máy chủ tên miền (DNS Server) để chuyển đổi tên miền
Trình duyệt sẽ gửi yêu cầu đến địa chỉ IP tương ứng của website thông qua cổng 80 Sử dụng giao thức HTTP, trình duyệt gửi yêu cầu GET để truy xuất tệp HTML “web-server.htm” Đồng thời, một cookie cũng được gửi từ trình duyệt đến máy chủ.
Máy chủ sẽ gửi một file văn bản chứa các thẻ HTML đến trình duyệt web của bạn, cùng với một cookie được gửi từ máy chủ Cookie này được ghi ở đầu trang của mỗi trang web.
Trình duyệt web đọc các thẻ HTML để xác lập định dạng (hình thức trình bày) trang web và kết xuất nội dung trang ra màn hình của bạn.
Trong giao thức HTTP nguyên bản, người dùng phải cung cấp đầy đủ đường dẫn của tệp như “/” hoặc “/tên tệp.htm”, từ đó giao thức sẽ tự động điều chỉnh để tạo ra một địa chỉ URL hoàn chỉnh Điều này cho phép các công ty lưu trữ duy trì nhiều tên miền ảo trên cùng một máy chủ với một địa chỉ IP duy nhất Ví dụ, trên máy chủ của Máy chủ Việt Nam, địa chỉ IP 123.30.171.44 có thể hỗ trợ hàng trăm tên miền khác nhau đồng thời.
Nhiều máy chủ web hiện nay cung cấp các chế độ bảo mật trong quá trình xử lý, chẳng hạn như yêu cầu người dùng nhập tên truy cập và mật khẩu khi truy cập vào một trang web, cho thấy trang web đó đã được bảo vệ Máy chủ web giúp quản lý danh sách tên và mật khẩu cho những người được phép truy cập Đối với các máy chủ chuyên nghiệp, yêu cầu bảo mật cao hơn bao gồm việc chỉ cho phép kết nối mã hóa giữa máy chủ và trình duyệt, bảo vệ thông tin nhạy cảm như mã số thẻ tín dụng Đây là những vấn đề cơ bản trong hoạt động của máy chủ web để truyền tải các trang web tĩnh, tức là những trang không thay đổi trừ khi có sự can thiệp từ người tạo.
Dịch vụ web (WS: Web Service) là phương thức tích hợp các ứng dụng trên nền tảng web, cho phép chúng tương tác và trao đổi dữ liệu hiệu quả Mỗi ứng dụng web có thể sử dụng nhiều thành phần khác nhau để xây dựng một dịch vụ web hoàn chỉnh.
Dòng tiến trình của một dịch vụ web bao gồm các bước sau:
Hinh 2.3: Quy trình công nghệ của dịch vụ web[7]
Dòng tiến trình của một dịch vụ web:
1 Phát hiện – Tìm kiếm các dịch vụ web thích hợp trên một Web Site UDDI.
2.Mô tả – Web Site UDDI trả lời bằng một tệp WSDL mô tả về dịch vụ web thích hợp cho ứng dụng client.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT TRANG 9
3.Tạo Proxy – Tạo ra một Proxy cục bộ cho dịch vụ từ xa Hiện nay không có chuẩn cho việc này.
Proxy chuyển một phương tiện khởi động phương thức (method invocation) của đối tƣợng thành một thông báo XML và ngƣợc lại.
4.Tạo thông báo SOAP – Tạo ra một thông báo SOAP/XML và gửi đến địa chỉ URL đƣợc xác định trong tệp WSDL.
5 Thực hiện – Dịch vụ Web thực hiện các chức năng của mình và trả kết quả về cho client, thông qua listener và proxy.
ENC28J60 là IC giao tiếp mạng Ethernet ở lớp vật lý tương ứng trong mô hình OSI.
ENC28J60 hỗ trợ truyền song công trên kênh truyền có băng thông từ 10-20Mbps, giúp tối ưu hóa hiệu suất truyền tải dữ liệu Để giảm thiểu xung đột, ENC28J60 hoạt động dựa trên giao thức CSMA/CD, cho phép phát hiện và hạn chế xung đột trên kênh truyền Thiết bị này giao tiếp với các thiết bị khác thông qua chuẩn SPI, đảm bảo khả năng tương thích và linh hoạt trong kết nối.
ENC28J60 là bộ điều khiển Ethernet độc lập, tương thích với giao thức SPI, được thiết kế để cung cấp giao diện mạng Ethernet cho các thiết bị sử dụng SPI Nó tuân thủ các tiêu chuẩn kỹ thuật IEEE 802.3 và tích hợp nhiều phương pháp lọc gói để kiểm soát lưu lượng gói đến Bên cạnh đó, ENC28J60 còn có mô-đun DMA nội bộ cho phép truyền dữ liệu nhanh chóng và hỗ trợ tính toán checksum trong các giao thức mạng Giao tiếp với các bộ điều khiển diễn ra qua ngắt pin và SPI, với tốc độ xung nhịp lên đến 20 MHz, cùng với hai chân chuyên dụng cho LED và tín hiệu hoạt động mạng.
Hình 2.4: sơ đồ chân ENC28J60 [2]
CHƯƠNG II: CƠ SỞ LÝ THUYẾT TRANG 11
Bảng 2.2:tóm tắt chân ENC28J60 [2]
Hình 2.5: sơ đồ khối ENC28J60 [2]
Chip ENC28J60 có bảy khối chức năng chính:
1.Một SPI giao diện phục vụ nhƣ là một kênh thông tin liên lạc giữa bộ điều khiển máy chủ và ENC28J60
2 Kiểm soát Registers đƣợc sử dụng để kiểm soát và giám sát các ENC28J60
3 Một bộ đệm cổng RAM dual cho nhận và truyền các gói dữ liệu
4.Một trọng tài để kiểm soát truy cập vào bộ đệm RAM khi yêu cầu đƣợc làm từ
DMA , truyền và nhận khối
5 Giao diện bus mà diễn giải dữ liệu và các lệnh đƣợc thông qua giao diện SPI
6.MAC ( Medium Access Control ) module mà thực hiện IEEE 802.3 tuân thủ logic của MAC
7.Module PHY ( Physical Layer ) mã hóa và giải mã dữ liệu tương tự được hiển thị trên giao diện xoắn cặp.
Tổng quan về ARM
Cấu trúc ARM, viết tắt của Acorn RISC Machine, là một kiến trúc vi xử lý 32-bit kiểu RISC, phổ biến trong thiết kế nhúng Với đặc điểm tiết kiệm năng lượng, CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, nơi việc giảm thiểu tiêu thụ công suất là một mục tiêu thiết kế hàng đầu.
Hiện nay, hơn 75% CPU nhúng 32-bit trên thế giới thuộc về họ ARM, khiến ARM trở thành cấu trúc 32-bit phổ biến nhất CPU ARM xuất hiện rộng rãi trong các sản phẩm thương mại điện tử, bao gồm thiết bị cầm tay như PDA, điện thoại di động, máy đa phương tiện, máy trò chơi cầm tay và máy tính xách tay, cũng như các thiết bị ngoại vi máy tính như ổ đĩa cứng và bộ định tuyến để bàn Một trong những dòng vi xử lý nổi tiếng của ARM là Xscale của Intel.
2.3.2 Dòng vi điều khiển cortex.
Dòng ARM Cortex là một bộ xử lý thế hệ mới, cung cấp kiến trúc chuẩn cho các nhu cầu công nghệ đa dạng Khác với các chip ARM truyền thống, Cortex mang đến một lõi xử lý hoàn chỉnh, thiết lập chuẩn CPU và kiến trúc hệ thống chung Dòng Cortex bao gồm nhiều loại vi xử lý khác nhau, phục vụ cho nhiều ứng dụng khác nhau trong lĩnh vực công nghệ.
Dòng sản phẩm STM32 của STMicroelectronics bao gồm ba phân nhánh chính: dòng A cho ứng dụng cao cấp, dòng R cho ứng dụng thời gian thực như đầu đọc, và dòng M cho ứng dụng vi điều khiển với chi phí thấp Đây là vi điều khiển đầu tiên dựa trên lõi ARM Cortex-M3 thế hệ mới nhất, được thiết kế bởi ARM, và là sự cải tiến từ lõi ARM7 truyền thống STM32 nổi bật với hiệu suất cao, chi phí thấp, khả năng tiết kiệm năng lượng và đáp ứng tốt cho các ứng dụng yêu cầu điều khiển thời gian thực khắt khe.
Khối trung tâm của STM32 là bộ vi xử lý Cortex-M3, một lõi vi điều khiển tiêu chuẩn hóa tích hợp hệ thống ngắt, bộ đếm thời gian SysTick cho hệ điều hành thời gian thực, hệ thống kiểm lỗi và bản đồ bộ nhớ Cortex-M3 có không gian địa chỉ 4Gbyte, được phân chia thành các vùng cho mã.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT TRANG 13 chương trình, SRAM, ngoại vi và ngoại vi hệ thống Không giống với ARM7 được thiết kế theo kiến trúc Von Neumann (bộ nhớ chương trình và bộ nhớ dữ liệu chung với nhau),Cortex-M3 được thiết kế dựa theo kiến trúc Harvard (bộ nhớ chương trình và bộ nhớ dữ liệu tách biệt với 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 chip Không giống với các kiến trúc ARM trước đó,dòng Cortex cho phép truy cập dữ liệu không xếp hàng (unaligned data, vì chip ARM là kiến trúc 32bit, do đó tất cả các dữ liệu hoặc mã chương trình đều được sắp xếp khít với vùng bộ nhớ là bội số của 4byte).
Cấu trúc của vi điều khiển Cortex-M3 cho phép sử dụng hiệu quả SRAM nội, với khả năng hỗ trợ đặt và xoá các bit trong hai vùng 1Mbyte của bộ nhớ thông qua phương pháp bit banding Điều này giúp truy cập hiệu quả tới các thanh ghi ngoại vi và các cờ trên bộ nhớ SRAM mà không cần sử dụng bộ xử lý logic.
Khối trung tâm của VĐK STM32 sử dụng bộ xử lý Cortex-M3, một vi điều khiển tiêu chuẩn hóa với CPU 32bit, cấu trúc bus, đơn vị xử lý ngắt hỗ trợ tính năng ngắt lồng vào nhau NVIC, hệ thống kiểm lỗi và tiêu chuẩn bố trí bộ nhớ.
Một trong những thành phần quan trọng của lõi Cortex-M3 là NVIC (Nested Vector Interrupt Controller), cung cấp cấu trúc ngắt tiêu chuẩn cho các vi điều khiển dựa trên lõi này và quản lý các ngắt đặc biệt NVIC hỗ trợ tới 240 nguồn ngắt từ ngoại vi, cho phép ưu tiên hóa từng nguồn với các mức khác nhau Được thiết kế để xử lý các ngắt với thời gian đáp ứng cực nhanh, NVIC chỉ mất 12 chu kỳ xung nhịp từ khi nhận tín hiệu ngắt đến khi thực thi lệnh đầu tiên trong trình phục vụ ngắt, nhờ vào vi chương trình cài sẵn trong CPU Khi xảy ra ngắt lồng nhau, NVIC áp dụng một phương thức đặc biệt để xử lý hiệu quả.
"Tail chain" cho phép ngắt liên tiếp với độ trễ chỉ 6 chu kỳ xung nhịp Trong quá trình lưu trữ dữ liệu lên bộ nhớ stack để thực thi chương trình phục vụ ngắt, một ngắt có mức ưu tiên cao hơn có thể cạnh tranh với ngắt hiện tại mà không bị trì hoãn Cấu trúc ngắt này cũng hỗ trợ chế độ tiết kiệm năng lượng của lõi Cortex-M3, cho phép CPU tự động chuyển sang chế độ tiết kiệm năng lượng sau khi thoát khỏi ngắt, và tiếp tục ở trạng thái ngủ cho đến khi có một exception xuất hiện.
Cortex-M3 là một lõi CPU 32-bit chi phí thấp, hỗ trợ hai chế độ hoạt động là Thread và Handler Mỗi chế độ có thể được cấu hình với vùng stack riêng biệt, tạo điều kiện thuận lợi cho thiết kế hệ thống.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT TRANG 15 các phần mềm phức tạp và hỗ trợ các hệ điều hành thời gian thực Lõi Cortex có hỗ trợ một timer 24-bit tự động nạp lại giá trị, nó sẽ cung cấp một ngắt timer đều đặn cho một nhận RTOS (Real Time Operating System) Các chip ARM7 và ARM9 có hai tập lệnh (tập lệnh ARM 32-bit và tập lệnh Thumb 16-bit), trong khi đó dòng Cortex đƣợc thiết kế hỗ trợ tập lệnh ARM Thumb-2, tập lệnh này đƣợc pha trộn giữa tập lệnh 16 và 32-bit, nhằm đạt đƣợc hiệu suất cao của của tập lệnh ARM 32-bit với mật độ mã chương trình tối ưu của tập lệnh Thumb 16-bit Tập lệnh Thumb-2 đƣợc thiết kế đặc biệt dành cho trình biên dịch C/C++, tức là các ứng dụng dựa trên nền Cortex hoàn toàn có thể đƣợc viết bằng ngôn ngữ C mà không cần đến chương trình khởi động viết bằng assembler như ARM7 và ARM9.
2.3.3 Giới thiệu về kit Arm Cortex M3.
Hình 2.7:Ảnh Thực Tế Kit ARM STM32F103 [1]
STM32F103VET6 là 1 sản phẩm trong họ STM32F1 có các đặc điểm sau:
Nguồn cấp 2.0-3.6V, tần số hoạt động max là 72MHz 512 Kb bộ nhớ Flash, 64 Kb bộ nhớ SRAM.
Tổng cộng 48 pins gồm 5 pins nguồn, 4 pin GND và 37 chân I/O đều có thể sử dụng để làm ngắt ngoài.
2 bộ ADC quản lý 10 kênh với độ phân giải 12 bits.
12 kênh DMA với các ngoại vi hỗ trợ gồm: Timers, ADC, SPIs, I2Cs, USARTs.
Tổng cộng 4 Timers bao gồm 3 General-purpose Timers và 1 Advanced- control Timer.
3 SPI, 2 I2C, 5 USART, 1 USB và 1 CAN.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT TRANG 17
STM32 sở hữu 5 cổng I/O đa dụng với tổng cộng 80 chân điều khiển Mỗi chân có khả năng được cấu hình như GPIO hoặc đảm nhận các chức năng thay thế khác, đồng thời có thể hoạt động như nguồn ngắt ngoại.
Các cổng I/O được đánh số từ A đến E và hoạt động với mức điện áp 5V Nhiều chân có thể được cấu hình linh hoạt như input/output để tương tác với các thiết bị ngoại vi như USART hoặc I2C Ngoài ra, các chân này cũng có thể được thiết lập làm nguồn ngắt ngoại kết hợp với các cổng GPIO khác.
Mỗi cổng GPIO được điều khiển bởi 2 thanh ghi 32 bit, tổng cộng là 64 bit cho 16 chân của cổng Điều này có nghĩa là mỗi chân GPIO có 4 bit điều khiển, trong đó 2 bit xác định hướng dữ liệu (đầu vào/đầu ra) và 2 bit còn lại quy định đặc tính của dữ liệu.
Hình 2.9: Cấu hình đầu vào.