Với những ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ biến, từnhững ứng dụng đơn giản như điều khiển một chốt đèn giao thông định thời, đếm sảnphẩm trong một dây chuyền sản xuấ
Trang 1LỜI CẢM ƠN
Để hoàn thành được đồ án này là kết quả của toàn bộ nỗ lực của bản thân emtrong suốt thời gian theo học tại trường, là toàn bộ năng lực của em khi bắt tay vào quátrình nghiên cứu Để có được kết quả như ngày hôm nay chúng em không bao giờquên được sự giúp đỡ và sự giảng dạy rất nhiệt tình của các Thầy, Cô trong khoa Điện– Điện Tử - Học Viên Công Nghệ Bưu Chính Viên Thông Các Thầy, Cô là những độingũ đi trước rất am hiểu về lĩnh vực khoa học kỹ thuật đã tận tình giảng dạy và giúpchúng em hoàn thành được rất nhiều đề tài
Em xin chân thành cảm ơn cô Vũ Anh Đào đã tận tình chỉ dạy, hướng dẫn đóng gópnhững ý kiến quý báu giúp em có thể hoàn thành đề tài đúng thời gian quy định
Em cũng xin cảm ơn đến những người bạn thân đã không ngại chia sẻ về kinh nghiệmlàm đề tài cũng như hỗ trợ các công việc để giúp nhóm em hoàn thành tốt được đề tàinày
Em xin cảm ơn !
Trang 2MỤC LỤC
Trang 3DANH MỤC HÌNH VẼ
Trang 4DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
ADC Analog to Digital Converter Bộ chuyển đổi tương tự
sang sốDAC Digital to Analog Converter Bộ chuyển đổi số sang
tương tự
SPI Serial Peripheral Interface Giao thức truyền thông SPI
UART Universal Asynchronous
Receiver/Transmitter
Truyền thông nối tiếp không đồng bộ
Trang 5LỜI MỞ ĐẦU
Ngày nay với sự phát triển của ngành điện tử và ứng dụng điện tử đã giúp sựsáng tạo của con người trở thành hiện thực Các lĩnh vực của cuộc sống đều áp dụngnhững thiết bị điện tử và dường như nhìn đâu trong gia đình chúng ta cũng có thiết bịđiện tử Ngành điện tử và ứng dụng điện tử đã tạo chỗ đứng và khẳng định được tầmquan trọng của mình đối với nhu cầu của con người
Với những ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ biến, từnhững ứng dụng đơn giản như điều khiển một chốt đèn giao thông định thời, đếm sảnphẩm trong một dây chuyền sản xuất, điều khiển tốc độ động cơ điện một chiều, mộtđồng hồ thời gian thực.Đến các ứng dụng phức tạp như hệ thống điều khiển robot, bộkiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân Các
hệ thống tự động trước đây sử dụng nhiều công nghệ khác nhau như các hệ thống tựđộng hoạt động bằng nguyên lý khí Các thiết bị, hệ thống này có chức năng xử lý vàmức độ tự động thấp so với các hệ thống tự động hiện đại được xây dựng trên nền tảngcủa các hệ thống nhúng
Trong nhiều năm trước, các dòng vi điều khiển 8051 được sinh viên dùng nhiềuvới tính năng đơn giản, dễ sử dụng; AVR được sử dụng nhiều trong các cuộc thiRobocon nhờ tốc độ sử lý khá cao, ổn định; PIC với ưu thế tốc độ cao, chi phí thấphơn cũng được nghiên cứu, sử dụng nhiều Nhưng trong một vài năm trở lại đây, cómột dòng vi điều khiển mới, càng ngày càng nắm vị trí quan trọng trong các lĩnh vựcđòi hỏi tốc độ xử lý cao, sản xuất các dòng diện thoại di động smartphone, giám sát, anninh… Đó là họ vi điều khiển ARM Với rất nhiều thế hệ ra đời, với nhiều tính năng,công dụng khác nhau
Với nhiều tính năng vượt trội của ARM và xu thế lựa chọn dòng vi điều khiểnmới ở Việt Nam nên trong đồ án tốt nghiệp này, dưới sự giúp đỡ của Cô Vũ Anh Đào,
em thực hiện đồ án “Ứng dụng lập trình điều khiển thiết bị qua wifi sử dụng chipARM Cortex M3 STM32F103C8T6”
Em xin chân thành cảm ơn cô Vũ Anh Đào cùng toàn thể các thầy cô khoa Kỹ thuật điện tử I đã tạo điều kiện và giúp đỡ em trong quá trình thực hiện đồ án tốt nghiệp này
Trang 6CHƯƠNG I GIỚI THIỆU ĐỀ TÀI
1.1 Cơ sở lựa chọn đề tài
Ngày nay, công nghệ kết nối đầu tiên cần nhắc đến hiển nhiên là Wifi – côngnghệ kết nối không dây phổ biến nhất hiện nay Cũng vì tính phổ biến của dạng kết nốinày mà cái tên Wifi thường bị lạm dụng để chỉ kết nối không dây nói chung
Lí do mà kết nối Wifi được ưa chuộng như vậy đơn giản là vì khả năng hoạtđộng hiệu quả trong phạm vi vài chục đến vài trăm mét của các mạng WLAN
Và trong thời đại công nghiệp hóa hiện đại hóa hiện nay, việc phát minh và chếtạo ra các thiết bị thông minh có khả năng điều khiển từ xa đang và sẽ rất được quantâm và rất hữu ích cho cuộc sống hàng ngày
Vì mục tiêu công nghệ hiện đại hóa ngày càng phát triển, tôi đã quyết định làmmột đồ án về điều khiển thiết bị qua WIFI Khi dự án hoàn thành chúng ta có thể điềukhiển các thiết bị điện trong nhà thông qua sóng WIFI, bằng cách tương tác qua cácnút nhấn để hiển thị trạng thái hoạt động của các thiết bị trên giao diện Web Như vậy,
dù chúng ta ở bất cứ nơi nào có sóng wifi đều có thể sử dụng được các thiết bị đã kếtnối với module điều khiển
Khi dự án thành công và được áp dụng rộng rãi thì sẽ rất tiện lợi cho cuộc sốngthường nhật, giúp cho đất nước ngày càng phát triển
1.2 Giới thiệu đề tài
Nội dung của đồ án bao gồm 3 chương là:
Chương I: Giới thiệu đề tài
Chương II: Tìm hiểu các linh kiện, công nghệ, thiết bị
Chương III: Thiết kế sản phẩm thực
1.3 Giới hạn của đề tài.
Vì em sử dụng bộ thu phát cảm biến có khoảng cách không xa nên chỉ có thể sửdụng trong phạm vi 20 30 mét Nếu có đều kiện em sẽ cải tiến để có độ bao phủ củasóng wifi tới mức xa nhất có thể
1.4 Đối tượng nghiên cứu.
• Họ vi điều khiển ARM COTEX M3
• Bộ thu wifi ESP8266 V7
Trang 7CHƯƠNG II TÌM HIỂU CÁC LINH KIỆN, CÔNG NGHỆ, THIẾT BỊ
2.1 Công nghệ WIFI
2.1.1 Giới thiệu về WIFI
Wifi mà mạng kết nối Internet không dây, là từ viết tắt của Wireless Fidelity, sửdụng sóng vô tuyến để truyền tín hiệu Loại sóng vô tuyến này tương tự như sóng điệnthoại, truyền hình và radio Và trên hầu hết các thiết bị điện tử ngày nay như máy tính,laptop, điện thoại, máy tính bảng đều có thể kết nối Wifi
Hình 2.1 Wifi sử dụng trên các thiết bị thông minh
Kết nối Wifi dựa trên các loại chuẩn kết nối IEEE 802.11, và chủ yếu hiện nayWifi hoạt động trên băng tần 54 Mbps và có tín hiệu mạnh nhất trong khoảng cách 100feet (gần 31 mét, các bạn cứ thử tưởng tượng mỗi 1 tầng nhà lấy trung bình là 4 métthì theo lý thuyết sóng wifi phát ở tầng 1 vẫn sẽ bắt được nếu bạn đang ở tầng 7 - đó làtheo lý thuyết) Còn trong thực tế thì trong mỗi ngôi nhà thường có rất nhiều vật cảnsóng, nên bạn chỉ cần đứng trên tầng 4 hoặc 5 là tín hiệu đã yếu lắm rồi
Lúc đầu Wifi được phát triển như là một cách để thay thế cáp Ethernet Cho đếnthời điểm hiện tại, Wifi đã trở thành một công nghệ phổ biến cung cấp kết nối giữa cácthiết bị
Không giống như máy thu FM trên xe ô tô, Wifi giao tiếp qua lại chủ yếu quá 2radio sử dụng điện năng thấp hơn và phát sóng trên một khoảng cách ngắn hơnnhiều.Hai radio cho phép người dùng web tải dữ liệu từ Internet cũng như upload cácthông tin - thậm chí là địa chỉ submit thông qua bộ đếm trình duyệt giao tiếp 2chiều.Wifi phức tạp hơn so với vô tuyến mặt đất đó là Wifi sử dụng giao thức kết nối
Trang 8Internet (Internet Protocol) để giao tiếp Ngôn ngữ này của Internet tạo ra cấu trúcWifi.
2.1.2 Nguyên tắc hoạt động của Wifi
Để có được sóng Wifi thì chúng ta cần phải có bộ phát Wifi - chính là các thiết
bị như modem, router Đầu vào, tín hiệu Internet nguồn (được cung cấp bởi các đơn vịISP như FPT, Viettel, VNPT, CMC hiện nay) Thiết bị modem, router sẽ lấy tín hiệuInternet qua kết nối hữu tuyến rồi chuyển thành tín hiệu vô tuyến, và gửi đến các thiết
bị sử dụng như điện thoại smartphone, máy tính bảng, laptop Đây là quá trình nhậntín hiệu không dây (hay còn gọi là adapter) - chính là card wifi trên laptop, điện thoại
và chuyển hóa thành tín hiệu Internet Và quá trình này hoàn toàn có thể thực hiệnngược lại, nghĩa là router, modem nhận tín hiệu vô tuyến từ adapter và giải mã chúng,gửi qua Internet
Hình 2.2 Các kết nối WIFI 2.1.3.Ưu nhược điểm của Wifi.
Hiện nay, có rất nhiều loại sóng có thể kết nối internet như sóng 3g, 4g,…Nhưng sóng wifi có nhiều ưu điểm nổi trội hơn cả
Mạng wifi không dây không khác gì các hệ thống mạng thông thường Mạngcho phép người dùng truy xuất tài nguyên mạng ở bất kỳ địa điểm nào trong khu vựcđược triển khai (home hay office) Với lượng gia tăng người sử dụng laptop thì đây làmột điều rất tuyệt vời bởi khi sử dụng mạng không dây đồng nghĩa với việc ta nóikhông với những dây cáp cổ điển
Ưu điểm di động: Cùng với sự phát triển của các mạng không dây công cộng,người sử dụng có thể truy cập Internet ở mọi nơi Ví dụ như ở các quán Café, ngườidùng có thể truy cập Internet(mạng không dây) miễn phí
Hiệu quả: Người sử dụng luôn duy trì kết nối mạng khi họ cần phải đi từ nơinày tới nơi khác
Trang 9Khả năng mở rộng: Mạng wifi không dây đáp ứng tức thì khi gia tăng số lượngngười dùng Bạn và nhiều người khác có thể sử dụng cùng 1 lúc mà không cần phảikết nối bằng đường cáp như cách cổ điển trước đây Với hệ thống cổ điển trước đâynếu bạn muốn tăng thêm lượng người sử dụng mạng trong hệ thống đồng nghĩa vớiviệc tăng thêm bộ chia và cáp rất lằng nhằng và mất thời gian cũng như tiền bạc.
Hình 2.3 Hình ảnh các ưu điểm WIFI
Bên cạnh những ưu điểm nổi trội nêu trên mạng không dây còn có những điểm hạnchế sau:
- Độ bảo mật: Môi trường kết nối không dây là không khí nên khả năng bị tấncông của người dùng là rất cao Tuy vậy, hiện nay các thiết bị phát wifi cũng
đã được nhà sản xuất các trang bị các biện pháp bảo mật khá hữu hiệu, đảmbảo an toàn thông tin cá nhân cho người sử dụng
- Phạm vi của hệ thống: Với một mạng chuẩn 802.11g, các thiết bị chuẩn chỉ cóthể hoạt động tốt nhất trong phạm vi vài chục mét Hệ thống này phù hợptrong một căn hộ, với một tòa nhà lớn thì hệ thống lại không đáp ứng đượcnhu cầu Giải quyết vấn đề này cần phải mua thêm Repeater hay access point,đẫn đến chi phí gia tăng lên rất nhiều
- Độ tin cậy: Vì sử dụng sóng vô tuyến để truyền thông nên việc bị nhiễu, tínhiệu bị giảm do tác động của các thiết bị khác(lò vi sóng,…) là không thểtránh khỏi Nó làm giảm đáng kể rất nhiều hiệu quả hoạt động của mạng
Trang 10- Tốc độ: Việc sử dụng hệ thống không dây đồng nghĩa với tốc độ của mạngkhông dây(1-125 Mbps) chậm hơn rất nhiều so với mạng cổ điển sử dụng cáp(100 mbps đến hang Gbps)
2.1.4.Các chuẩn kết nối Wifi
Hình 2.4 Các chuẩn kết nối WIFI
Kết nối 802.11: Wifi thế hệ thứ nhất Năm 1997, IEEE (Institute of Electricaland Electronics Engineers) đã giới thiệu một chuẩn đầu tiên cho WLAN Chuẩn nàyđược gọi là 802.11 sau khi tên của nhóm được thiết lập nhằm giám sát sự phát triểncủa nó
Tuy nhiên, 802.11chỉ hỗ trợ cho băng tần mạng cực đại lên đến 2Mbps, sử dụngbăng tần 2,4Ghz của sóng radio hoặc hồng ngoại – quá chậm đối với hầu hết các ứngdụng Với lý do đó, các sản phẩm không dây thiết kế theo chuẩn 802.11 ban đầu dầnkhông được sản xuất
Kết nối 802.11b: Wi-Fi thế hệ thứ hai IEEE đã mở rộng trên chuẩn 802.11 gốcvào tháng Bảy năm 1999, đó chính là chuẩn 802.11b Chuẩn này hỗ trợ băng thông lênđến 11Mbps, tương quan với Ethernet truyền thống
802.11b sử dụng tần số vô tuyến (2.4 GHz) giống như chuẩn ban đầu 802.11.Các hãng thích sử dụng các tần số này để chi phí trong sản xuất của họ được giảm.Các thiết bị 802.11b có thể bị xuyên nhiễu từ các thiết bị điện thoại không dây (kéodài), lò vi sóng hoặc các thiết bị khác sử dụng cùng dải tần 2.4 GHz Mặc dù vậy, bằngcách cài đặt các thiết bị 802.11b cách xa các thiết bị như vậy có thể giảm được hiệntượng xuyên nhiễu này
Ưu điểm của 802.11b – giá thành thấp nhất; phạm vi tín hiệu tốt và không dễ bịcản trở
Nhược điểm của 802.11b – tốc độ tối đa thấp nhất; các ứng dụng gia đình có thểxuyên nhiễu
Kết nối 802.11a: Cũng là thế hệ thứ hai.Trong khi 802.11b vẫn đang được pháttriển, IEEE đã tạo một mở rộng thứ cấp cho chuẩn 802.11 có tên gọi 802.11a Vì802.11b được sử dụng rộng rãi quá nhanh so với 802.11a, nên một số người cho rằng802.11a được tạo sau 802.11b Tuy nhiên trong thực tế, 802.11a và 802.11b được tạo
Trang 11một cách đồng thời Do giá thành cao hơn nên 802.11a chỉ được sử dụng trong cácmạng doanh nghiệp còn 802.11b thích hợp hơn với thị trường mạng gia đình.
802.11a hỗ trợ băng thông lên đến 54 Mbps và sử dụng tần số vô tuyến 5GHz.Tần số của 802.11a cao hơn so với 802.11b chính vì vậy đã làm cho phạm vi của hệthống này hẹp hơn so với các mạng 802.11b Với tần số này, các tín hiệu 802.11a cũngkhó xuyên qua các vách tường và các vật cản khác hơn
Do 802.11a và 802.11b sử dụng các tần số khác nhau, nên hai công nghệ nàykhông thể tương thích với nhau Chính vì vậy một số hãng đã cung cấp các thiết bịmạng hybrid cho 802.11a/b nhưng các sản phẩm này chỉ đơn thuần là bổ sung thêmhai chuẩn này
Ưu điểm của 802.11a – tốc độ cao; tần số 5Ghz tránh được sự xuyên nhiễu từcác thiết bị khác
Nhược điểm của 802.11a – giá thành đắt; phạm vi hẹp và dễ bị che khuất
Kết nối 802.11g Wi-Fi thế hệ thứ ba Vào năm 2003, các sản phẩm WLAN hỗtrợ một chuẩn mới hơn đó là 802.11g, được đánh giá cao trên thị trường 802.11g thựchiện sự kết hợp tốt nhất giữa 802.11a và 802.11b Nó hỗ trợ băng thông lên đến54Mbps và sử dụng tần số 2.4 Ghz để có phạm vi rộng 802.11g có khả năng tươngthích với các chuẩn 802.11b, điều đó có nghĩa là các điểm truy cập 802.11g sẽ làmviệc với các adapter mạng không dây 802.11b và ngược lại
Ưu điểm của 802.11g – tốc độ cao; phạm vi tín hiệu tốt và ít bị che khuất
Nhược điểm của 802.11g – giá thành đắt hơn 802.11b; các thiết bị có thể bịxuyên nhiễu từ nhiều thiết bị khác sử dụng cùng băng tần
Kết nối 802.11n: Wi-Fi thế hệ thứ tư Năm 2009 một chuẩn mới Wi-Fi được ra mắtchính là 802.11n Đây là chuẩn được thiết kế để cải thiện cho 802.11g trong tổng sốbăng thông được hỗ trợ bằng cách tận dụng nhiều tín hiệu không dây và các anten(công nghệ MIMO)
Các kết nối 802.11n sẽ hỗ trợ tốc độ tối đa 600Mb/s (trên thị trường phổ biến cócác thiết bị 150Mb/s, 300Mb/s và 450Mb/s) 802.11n cũng cung cấp phạm vi bao phủtốt hơn so với các chuẩn Wi-Fi trước nó nhờ cường độ tín hiệu mạnh của nó Chuẩnnày có thể hoạt động trên cả hai băng tần 2,4GHz lẫn 5GHz và nếu router hỗ trợ thì haibăng tần này có thể cùng được phát sóng song song nhau Thiết bị 802.11n sẽ tươngthích với các thiết bị 802.11g
Ưu điểm của 802.11n – tốc độ nhanh và phạm vi tín hiệu tốt nhất; khả năngchịu đựng tốt hơn từ việc xuyên nhiễu từ các nguồn bên ngoài
Nhược điểm của 802.11n – giá thành đắt hơn 802.11g; sử dụng nhiều tín hiệu
có thể gây nhiễu với các mạng 802.11b/g ở gần
Kết nối 802.11ac: Wi-Fi thế hệ thứ năm Chuẩn Wifi thế hệ thứ 5, 802.11ac ra đờitrong năm 2013 So với các chuẩn trước đó, 802.11ac hỗ trợ tốc độ tối đa hiện là
Trang 121730Mb/s (sẽ còn tăng tiếp) và chỉ chạy ở băng tần 5GHz Một số mức tốc độ thấphơn (ứng với số luồng truyền dữ liệu thấp hơn) bao gồm 450Mb/s và 900Mb/s.
Về mặt lý thuyết, Wi-Fi 802.11ac sẽ cho tốc độ cao gấp ba lần so với Wi-Fi802.11n ở cùng số luồng (stream) truyền, ví dụ khi dùng ăng-ten 1x1 thì Wi-Fi ac chotốc độ 450Mb/s, trong khi Wi-Fi n chỉ là 150Mb/s Còn nếu tăng lên ăng-ten 3x3 với
ba luồng, Wi-Fi ac có thể cung cấp 1300Mb/s, trong khi Wi-Fi n chỉ là 450Mb/s Tuynhiên, những con số nói trên chỉ là tốc độ tối đa trên lý thuyết, còn trong đời thực thìtốc độ này sẽ giảm xuống tùy theo thiết bị thu phát, môi trường, vật cản, nhiễu tínhiệu
Hiện nay, hầu hết các router Wi-Fi trên thị trường có hỗ trợ chuẩn 802.11ac sẽ
hỗ trợ thêm các chuẩn cũ, bao gồm b/g/n Chúng cũng sẽ có hai băng tần 2,4GHz lẫn5GHz Đối với những router có khả năng chạy hai băng tần cùng lúc (simultaneous),băng tần 2,4GHz sẽ được sử dụng để phát Wi-Fi n, còn 5GHz sẽ dùng để phát Wi-Fiac
2.2 Một số loại điều khiển thiết bị thông minh
2.2.1 Điều khiển thiết bị qua webserver
Hình 2.5 Sơ đồ tổng quang hệ thống
Dù đang ở cách xa ngôi nhà, người sử dụng có thể dùng máy tính được kết nốivới mạng internet hoặc các thiết bị như điện thoại, máy tính bảng có hỗ trợ Internet đểgửi tín hiệu tới bộ điều khiển tác động lên các thiết bị điện trong gia đình Điều này rấtthuận tiện khi bạn thường xuyên phải ra khỏi nhà và muốn cập nhập trạng thái và điềukhiển hoạt động của các thiết bị điện trong ngôi nhà
Cách thức này có thể nói là tối ưu nhất trong việc hoàn thiện những ngôi nhà smart nhưng chi phí thực hiện lại tốn kém
Trang 132.2.2 Điều khiển thiết bị qua tin nhắn điện thoại
Thiết lập một hệ thống điều khiển thiết bị trong nhà từ xa thông qua tin nhắnSMS gồm có các thiết bị đơn giản như bóng đèn, quạt máy, lò sưởi đến các thiết bịtinh vi, phức tạp như tivi, máy giặt, điều hòa, hệ thống báo động … Nó hoạt động nhưmột ngôi nhà thông minh Nghĩa là tất cả các thiết bị này có thể giao tiếp với nhau vềmặt dữ liệu thông qua một đầu não trung tâm
Chẳng hạn như việc tắt quạt, đèn điện … khi gia chủ quên chưa tắt trước khi rakhỏi nhà Hay chỉ với một tin nhắn SMS, gia chủ có thể bật máy điều hòa để làm mátphòng trước khi về nhà trong một khoảng thời gian nhất định
Nhưng kết nối này sẽ không có 1 giao diện để điều khiển các thiết bị mà nó chỉ
có thể hiển thị qua các kí hiệu trong sms
2.2.3 Điều khiển thiết bị qua wifi
Kết hợp cả 2 loại trên thì điều khiển thiết bị qua wifi em thấy là được nhất.Loạinày thông qua 1 module thu phát wifi để kết nối với wifi tổng tạo thành kết nối Thôngqua giao diện web người dùng có thể thấy được trạng thái hoạt động của các thiết bịcũng như tùy chỉnh được các chế độ on off… Hay hơn đó là mình không cần kết nốiqua internet mà chỉ cần thông qua sóng wifi là có thể sử dụng được
2.3 Các phiên bản Module thu phát wifi ESP8266
ESP8266 là một dòng chip tích hợp Wi-Fi 2.4Ghz có thể lập trình được, khôngbiết có bạn nào thắc mắc là modem wifi ở nhà nó hoạt động thế nào, cách thức ra làmsao không nhỉ ? Nếu bạn cũng đang tìm hiểu cũng như muốn điều khiển một cái gì đó
từ xa thì đây là một modul thích hợp cho bạn làm điều đó
ESP8266 cần ít nhất thêm 7 linh kiện nữa mới có thể hoạt động, trong đó phầnkhó nhất là Antena Đòi hỏi phải được sản xuất, kiểm tra với các thiết bị hiện đại Do
đó, trên thị trường xuất hiện nhiều Module và Board mạch phát triển đảm đương hết
để người dùng đơn giản nhất trong việc phát triển ứng dụng Một số Module và Boardphát triển phổ biến:
Trang 14ESP-01
Trang 15Hình 2.6 ESP-01 Tính năng
• Mạch nhỏ, gọn (24.75mm x 14.5mm)
• Điện áp làm việc 3.3v
• Tích hợp sẳn anten PCB trace trên module
• Có hai led báo hiệu: led nguồn, led TXD
• Có các chế độ: AP, STA, AT + STA
• Lệnh AT rất đơn giản, dễ dàng sử dụng
• Khoảng cách giữa các chân 2.54mm
• Sơ đồ chân
Trang 16Hình 2.7 Sơ đồ chân ESP - 01 ESP-12
Hình 2.8 ESP-12 Tính năng
• Sử dụng nguồn 3.3v
• Tích hợp anten PCB trace trên module
• Tiêu chuẩn wifi: 802.11b/g/n, với tần số 2.4GHz và hổ trợ bảo mật WPA/WPA2
Trang 17• Khoảng cách giữa các chân 2mm
Sơ đồ chân
Hình 2.9 Sơ đồ chân ESP -12
ESP-07
H ình 2.10 ESP - 07
Tính năng:
• Sử dụng nguồn 3.3v
• Tích hợp sẵn anten ceramic và anten ngoài U.FL
• Tiêu chuẩn wifi: 802.11b/g/n, với tần số 2.4GHz và hổ trợ bảo mật
Trang 18• Hổ trợ TCP/UDP
• Dễ dáng sử dụng với lệnh AT
• Có 3 chế độ hoạt động: Client, Access Point, Both Client and Access Point
• Làm việc như các máy chủ có thể kết nối với 5 máy con
• Khoảng cách giữa các chân 2mm
Sơ đồ chân
Hình 2.11 Sơ đồ chân ESP - 07
• RESET: chân reset kéo xuống mass để reset
• ADC: chân đọc dữ liệu Analog
• CH_PD: Kích hoạt chip, sử dụng cho Flash Boot và updating tại module
• VCC: Nguồn cấp 3.3V
• TXD: chân Tx của giao thức UART
• RXD: chân Rx của giao thức UART
• GND: chân mass
• Còn lại là các chân GPIO
2.4 Tìm hiểu về ARM COTEX M3.
Trang 192.4.1 Tổng quan về ARM COTEX.
Bộ xử lý Cortex là thế hệ lõi nhúng kế tiếp từ ARM Cortex thừa kế các ưuđiểm từ các bộ xử lí ARM trước đó, nó là một lõi xử lý hoàn chỉnh, bao gồm bộ xử lítrung tâm Cortex và một hệ thống các thiết bị ngoại vi xung quanh, Cortex cung cấpphần xử lí trung tâm của một hệ thống nhúng Để đáp ứng yêu cầu khắt khe và đa dạngcủa các hệ thống nhúng, bộ xử lý Cortex gồm có 3 nhánh, được biểu hiện bằng các ký
tự sau tên Cortex như sau:
• Cortex-A: Bộ vi xử lý dành cho hệ điều hành và các ứng dụng của người dùngphức tạp Hỗ trợ các tập lệnh ARM, Thumb và Thumb-2
• Cortex-R: Bộ xử lí dành cho các hệ thống đòi hỏi khắc khe về tính thời gianthực Hỗ trợ các tập lệnh ARM, Thumb, và Thumb-2
• Cortex-M: Bộ xử lí dành cho dòng vi điều khiển, được tối ưu hóa cho các ứngdụng nhạy cảm về chi phí Chỉ hỗ trợ tập lệnh Thumb-2 Con số nằm cuối tênCortex cho biết mức độ hiệu suất tương đối, với 1 là thấp nhất và 8 là cao nhất.Hiện nay dòng Cortex-M có mức hiệu suất cao nhất là mức 4 STM32 dựa trên
bộ xử lý Cortex-M4
2.4.2 Các phiên bản kiến trúc ARM.
Hinh 2.12 Các phiên bản kiến trúc của lõi ARM
Tính đến thời điểm hiện tại thì phiên bản kiến trúc mới nhất của lõi ARM làARMv9 (Trước đó có ARMv4, ARMv5, ARMv6,…) Bộ xử lý Cortex-M3 dựa trênkiến trúc ARMv9 M và có khả năng thực hiện tập lệnh Thumb-2
Trang 20Hình 2.13 Bộ xử lí Cortex và đơn vị xử lí trung tâm Cortex
Thuật ngữ bộ xử lí Cortex (Cortex processor) và đơn vị xử lí trung tâm Cortex(Cortex CPU) sẽ được sử dụng để phân biệt giữa nhúng lõi Cortex hoàn chỉnh và bộ
xử lí trung tâm RISC nội (internal RISC CPU)
Trung tâm của bộ xử lý Cortex là một CPU RISC 32-bit CPU này có một phiênbản được đơn giản hóa từ mô hình lập trình (programmer’s model) của ARM7/9,nhưng có một tập lệnh phong phú hơn với sự hỗ trợ tốt cho các phép toán số nguyên,khả năng thao tác với bit tốt hơn và khả năng đáp ứng thời gian thực tốt hơn
Trang 212.4.3 Đơn vị xử lí trung tâm Cortex (Cortex CPU)
Trung tâm của bộ xử lý Cortex là một CPU RISC 32-bit CPU này có một phiênbản được đơn giản hóa từ mô hình lập trình (programmer’s model) của ARM7/9,nhưng có một tập lệnh phong phú hơn với sự hỗ trợ tốt cho các phép toán số nguyên,khả năng thao tác với bit tốt hơn và khả năng đáp ứng thời gian thực tốt hơn
2.4.3.1 Kiến trúc đường ống (Pipline)
CPU Cortex có thể thực thi hầu hết các lệnh trong một chu kì đơn Giống nhưCPU của ARM7 và ARM9, việc thực thi này đạt được với một đường ống ba tầng.Tuy nhiên Cortex-M3 khả năng dự đoán việc rẽ nhánh để giảm thiểu số lần làm rỗng(flush) đường ống
Hình 2.14 Kiến trúc đường ống của ARM Cortex 2.4.3.2 Mô hình lập trình (Programmer’s model)
CPU Cortex là bộ xử lý dựa trên kiến trúc RISC, do đó hỗ trợ kiến trúc nạp vàlưu trữ (load and store architecture) Để thực hiện lệnh xử lý dữ liệu, các toán hạngphải được nạp vào một tập thanh ghi trung tâm, các phép tính dữ liệu phải được thựchiện trên các thanh ghi này và kết quả sau đó được lưu lại trong bộ nhớ
Hình 2.15 Kiến trúc load và store của ARM Cortex-M3
Tập thanh ghi này bao gồm mười sáu thanh ghi 32-bit
• Các thanh ghi R0-R12 là các thanh ghi đơn giản, có thể được dùng đểchứa các biến của chương trình
• Thanh ghi R13 được dùng như là con trỏ ngăn xếp (stack pointer)
Trang 22Trong CPU Cortex có hai ngăn xếp được gọi là main stack và processstack
• Thanh ghi R14 tiếp theo được gọi là thanh ghi liên kết (link register).Thanh ghi này được sử dụng để lưu trữ các địa chỉ trở về khi một cuộcgọi thủ tục (call a procedure) được thực hiện Điều này cho phép CPUCortex thực hiện rất nhanh việc nhập và thoát khỏi một thủ tục (fastentry and exit to a procedure)
• Thanh ghi R15là bộđếm chương trình (Program Counter)
Hình 2.16 Mô hình lập trình của ARM Cortex-M 2.4.3.3 Thanh ghi XPSR
Ngoài tập thanh ghi trung tâm còn có một thanh ghi riêng biệt được gọi là thanhghi trạng thái chương trình (Program Status Register) XPSR chứa một số các vùngchức năng quan trọng ảnh hưởng đến việc thực thi của CPU Cortex
Hình 2.17 Thanh ghi trạng thái chương trình của CPU Cortex
• Năm bit đầu là những cờ mã điều kiện và được gán biệt hiệu (aliased) nhưthanh ghi trạng thái chương trình ứng dụng Bốn cờ N, Z, C, V (Negative,Zero, Carry và Overflow) sẽ được thiết lập và xóa tùy thuộc vào kết quả củamột lệnh xử lýdữ liệu Bit Q là được sử dụng bởi các lệnh toán học DPS để chỉ
ra rằng một biến đã đạt giá trị tối đa hoặc giá trị tối thiểu của nó
• Giống như tập lệnh ARM32-bit, các lệnh Thumb-2 chỉ được thực hiện nếu mãđiều kiện của lệnh phù hợp với trạng thái của các cờ trong thanh ghi trạng tháichương trình ứngdụng (Application Program Status Register) Nếu mã điềukiện của lệnh không phù hợp, thì lệnh đi ngang qua đường ống như là một lệnh
Trang 23NOP (lệnh này không làm gì cả) Điều này đảm bảo rằng các lệnh đi qua đườngống một cách trơn tru và giảm thiểu làm rỗng đường ống.
2.4.3.4 Các chế độ hoạt động của CPU.
Bộ xử lý Cortex có hai chế độ hoạt động: chế độ Thread và chế độ Handler.CPU sẽ chạy ở chế độ Thread trong khi nó đang thực thi ở chế độ nền không có ngắtxảy ra và sẽ chuyển sang chế độ Handler khi nó đang thực thi các ngắt đặc biệt(exceptions)
Ngoài ra, CPU Cortex có thể thực thi mã trong chế độ đặc quyền hoặc khôngđặc quyền (privileged or non-privileged mode) Trong chế độ đặc quyền, CPU cóquyền truy cập tất cả các lệnh Trong chế độ không co đặc quyền, một số lệnh bị cấmtruy cập (như lệnh MRS và MSR cho phép truy cập vào xPSR và các trường của nó)
Ngoài ra, việc cập các thanh ghi điều khiển hệ thống trong bộ vi xử lý Cortexcũng bị cấm Cách sử dụng ngăn xếp (stack) cũng có thể được cấu hình Ngăn xếpchính (main stack-R13) có thể được sử dụng bởi cả hai chế độ Thread và Handler.Chế độ Handler có thể được cấu hình để sử dụng ngăn xếp quá trình (process stack-R13 banked register)
Hình 2.18 Mô hình hoạt động của chế độ Thread và Handler
Sau khi reset, bộ xử lý Cortex sẽ chạy trong cấu hình phẳng (flatconfiguration) Cả hai chế độ Thread và Handler được thực thi trong chế độ đặc quyền(privileged mode), do đó, không có sự giới hạn nào về quyền truy cập vào bất kỳ tàinguyên của bộ xử lý Cả hai chế độ Thread và Handler đều sử dụng ngăn xếp chính
2.4.3.5 Tập lệnh Thumb-2
Các CPU ARM7 và ARM9 có thể thực thi hai tập lệnh: ARM 32-bit và Thumb16-bit Điều này cho phép người phát triển để tối ưu hoá chương trình của mình bằngcách lựa chọn tập lệnh nào được sử dụng cho thủ tục khác nhau: lệnh 32-bit để tăngtốc độ xử lí và lệnh 16-bit để nén mã chương trình CPU Cortex được thiết kế để thực
Trang 24thi tập lệnh Thumb-2, là một sự pha trộn của lệnh 16-bit và 32-bit Tập lệnh thumb-2cải tiến 26% mật độ mã so với tập lệnh ARM 32-bit và 25% hiệu suất so với tập lệnhThumb 16-bit Tập lệnh Thumb2 có một số lệnh nhân được cải tiến, có thể thực hiệntrong một chu kì đơn và khả năng thực hiện phép chia bằng phần cứng và chỉ mất từ 2-
7 chu kỳ
Hình 2.19 Đồ thị biểu diễn hiệu năng của bộ xử lý Cortex
Điểm chuẩn bộ xử lý Cortex (Cortex processor benchmark) cho một mức độthực hiện là 1,25 DMIPS/MHz, cao hơn so với ARM7 (0.95 DMIPS/MHz với tập lệnhARM và 0.74 DMIPS/MHz với tập lệnh Thumb) và ARM9
2.4.3.6.Bản đồ bộ nhớ (Memory Map)
Bộ xử lý Cortex-M3 là một lõi vi điều khiển được tiêu chuẩn hóa, như vậy nó
có một bản đồ bộ nhớ cũng được xác định Mặc dù có nhiều bus nội, bản đồ bộ nhớnày là một không gian địa chỉ 4 Gbyte tuyến tính Bản đồ bộ nhớ này là chung cho tất
cả các thiết bị dựa trên lõi Cortex
Trang 25Hình 2.20 Bản đồ bộ nhớ tuyến tính 4Gbyte của bộ xử lý Cortex-M
Một Gbyte bộ nhớ đầu tiên được chia đều cho một vùng mã (code region) vàmột vùng SRAM (SRAM region) Không gian mã được tối ưu hóa để thực thi từ busI-Code Tương tự, SRAM được nối đến bus D-Code Mặc dù mã có thể được nạp vàthực thi từ SRAM, các lệnh sẽ được lấy bằng cách sử dụng bus hệ thống, vì vậy phảichịu thêm một trạng thái chờ (an extra wait state) Tức là mã chạy trên SRAM sẽ chậmhơn so với từ bộ nhớ Flash trên chip (on-chip) nằm trong vùng mã Vùng 0,5 Gbytetiếp theo của bộ nhớ là vùng ngoại vi trên chip, tất cả thiết bị ngoại vi được cung cấpbởi nhà sản xuất vi điều khiển sẽ được đặt tại vùng này
Vùng 1 Mbyte đầu tiên gồm cả SRAM (màu vàng nhạt) và vùng ngoại vi (màuhồng nhạt) được định địa chỉ theo bit, sử dụng một kỹ thuật được gọi là dải bit (bitbanding) Từ đó tất cả SRAM và các thiết bị ngoại vi người dùng (user peripherals)trên STM32 được đặt tại vùng này, và tất cả các vị trí bộ nhớ của những vùng này trênSTM32 đều có thể được thao tác theo word-wide hoặc bitwise
Không gian địa chỉ 2 Gbyte tiếp theo được phân cho bộ nhớ ngoài- ánh xạSRAM và thiết bị ngoại vi (external RAM và external Device) Vùng 0,5 Gbyte cuốicùng được phân cho các thiết bị ngoại vi bên trong của bộ xử lí Cortex và một khu vựcdành cho các cải tiến trong tương lai của nhà sản xuất chip cho bộ xử lý Cortex Tất cảcác thanh ghi của bộ xử lý Cortex được đặt ở vị trí cố định cho tất cả vi điều khiển dựatrên lõi Cortex Điều này cho phép mã chương trình dễ dàng được chuyển giữa các
Trang 26biến thể STM32 khác nhau và các vi điều khiển dựa trên lõi Cortex của các nhà sảnxuất chip khác
2.4.4 Kiến trúc hệ thống của ARM CORTEX
ARM Cortex STM32 gồm nhân Cortex kết nối với bộ nhớ FLASH thông quađường bus lệnh chuyên biệt Các bus dữ liệu(Cortex Data busses) và hệ thống (CortexSystem busses) được kết nối tới ma trận busses tốc độ cao( ARM Advanced HighSpeed Busses- AHB) SRAM nội kết nối với AHB và đóng vai trò là bộ DMA Cácthiết bị ngoại vi được kết nối bằng 2 hệ thống bus ngoại vi tốc độ cao ( APB-ARMAdvanced Peripheral Busses)
Các bus APBs thông qua các bus cầu nối AHB-APBs kết nối vào hệ thốngAHB Ma trận bus AHB sử dụng xung nhịp đồng hồ bằng với xung nhịp của nhânCortex Tuy nhiên thông qua bộ chia tần số AHB có thể hoạt động ở tần số thấp hơnnhằm tiết kiệm năng lượng
Hình 2.21 Hệ thống Bus nội của ARM
Cấu trúc bus nội cung cấp đường truyền chuyên biệt dành cho tập lệnh thực thi
và ma trận bus đường dữ liệu cho nhân Cortex và bộ điều khiển DMA truy cập tàinguyên trên vi xử lý
2.4.5 Cấu trúc bộ nhớ
Bên cạnh hệ thống bus nội đa dạng STM32 còn cung cấp 4Gbytes không gian
bộ nhớ liên tục dành cho lập trình Bộ nhớ được bắt đầu từ địa chỉ chip SRAM bắt đầu từ địa chỉ 0x20000000 và tất cả SRAM nội đều được bố trí ở điểmbắt đầu vùng bit band Vùng nhớ thiết bị ngoại vi được ánh xạ từ địa chỉ 0x40000000
0x00000000.On-và ở vùng bit band Các thanh ghi điều khiển của nhân Cortex được ánh xạ từđịa chỉ 0xE0000000
Trang 27Hình 2.22 Cấu trúc bộ nhớ của ARM
Vùng nhớ dành cho flash được chia nhỏ thành 3 vùng Vùng thứ nhất gọi làUser Flash bắt đầu từ địa chỉ 0x00000000 Kế tiếp là System Memory hay còn gọi làvùng nhớ lớn Vùng này có độ lớn 4Kbytes thông thường sẽ được nhà sản xuất cài đặtbootloader Cuối cùng là vùng nhớ nhỏ bắt đầu từ địa chỉ 0x1FFFFF80 chứa thông tincấu hình dành cho STM32 Bootloader thường được dùng để tải chương trình thôngqua USART1 và chứa ở vùng User Flash
• bộ ADC và 9 giao diện kết nối
• Lõi: ARM 32 bit Cortex-M3
• Tần số hoạt động lên tới 72 Mhz
Trang 28• Kiểu chân: VFQFPN36, UFQFPN48, BGA100, LQFP48, LQFP64, LQFP100
• Ứng dụng:
Điều khiển động cơ
Thiết bị cầm tay và thiết bị y tế
Đây là loại IC nguồn cung cấp điện áp đầu ra ổn định, hoạt động ổn định vớiđầu tản nhiệt tốt giúp IC hoạt động tốt trong nhiệt độ cho phép
Trang 29 Điện áp đầu vào định mức là 40V có thể lớn 60V tùy từng dòng Serial
Chỉ giao tiếp với 5 chân đầu vào ra
Tần số đóng cắt chuẩn 52Khz[separator]
Hiệu suất cao
Bảo vệ quá dòng và quá nhiệt
Hình 2.24 IC LM2576
Hình 2.25 Sơ đồ cấu tạo của LM2576
Ở trên là sơ đồ cấu tạo bên trong của LM2576 Nguyên tắc dựa theo nguồnxung (Nguồn Buck) Điện áp đầu ra được điều chỉnh liên tục để đảm bảo cho điện ápđầu ra luôn giữa ở một giá trị cố định Trong sơ đồ cấu tạo thì LM2576 gồm khối: Sosánh, tạo dao động, công suất, quá dòng
Trang 30 Chân 1 (Vin): Chân nguồn đầu vào
Chân 2 (Vout): Chân điện áp đầu ra Tùy thuộc dòng LM2576 mà chânnày có điện áp ra ổn định khác nhau
Chân 3 (GND): Chân nguồn chung
Chân 4 (Feedback): Chân đưa tín hiệu phản hồi từ đầu ra về đầu vào.Đưa vào bộ so sánh để điều chỉnh ổn định điện áp
• Chân 5 (On/Off): Chân đóng mở Thường để GND
* Thông số chính của LM2576
+ Điện áp đầu vào:
+ LM2576: 45V
+ LM2576HV: 60V
+ Dòng điện đầu ra: 3A
+ Giải nhiệt độ hoạt động là: −65˚C to +150˚C
+ Điện áp ổn định đầu ra:
IC L298 là một IC tích hợp nguyên khối gồm 2 mạch cầu H bên trong Với điện
áp làm tăng công suất đầu ra từ 5V – 47V, dòng lên đến 4A, L298 rất thích hợp trongnhững ứng dụng công suất nhỏ như động cơ DC loại vừa …
Hình 2.26 Hình ảnh L298 L298 gồm:
4 chân INPUT: IN1, IN2, IN3, IN4 được nối lần lượt với các chân 5, 7, 10, 12của L298.Đây là các chân nhận tín hiệu điều khiển