Thiết kế và thi công mạch hẹn giờ đa năng có thể cấu hình qua cổng USB
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH BÁO CÁO ĐỒ ÁN TIN HỌC Đề tài : Thiết kế và thi công mạch hẹn giờ đa năng có thể cấu hình qua cổng USB GVHD : Bùi Văn Hiếu SV : Trần Quốc Gia Phú MSSV:50404428 Trần Hạ Long MSSV:50401405 TP. HỒ CHÍ MINH, 6/2008 Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC http://www.ebook.edu.vn SV:Trần Quốc Gia Phú, Trần Hạ Long - 1 Giới Thiệu. Nội dung của đề tài trong gia đoạn thực tập dừng lại ở mức độ tìm hiểu và thi công mạch mô phỏng. Chi tiết của các yêu cầu được đưa ra theo thứ tự lần lựoc như sau: tìm hiểu tồng quan về vi điều khiển PIC, tìm hiểu các phần mền có thể lập trình cho vi điều khiển PIC bằng ngôn ngữ C và lựa chọn một phần mền thích hợp nhất, tìm hiể u giao tiếp vi điều khiển PIC với máy tính thông qua cổng USB. Thiết kế mạch và viết chương trình có thể truyền nhận dữ liệu với máy tính qua cổng USB. Các yêu cầu trên sẽ được giải quyết tuần tự thông qua 4 phần, mỗi phần được phân ra làm nhiều mục nhỏ. Phần 1 sẽ trình bày một cách tổng quan về vi điều khiển PIC. Tuy nhiên trọng tâm chính của phần này là so sánh giữa các trình biên dịch cho dạng ngôn ngữ dùng cho vi đ iều khiển PIC. Dựa trên sự so sánh trên chúng ta sẽ quyết định sử dụng loại trình biên dịch nào được sử dụng cho viết thiết kế mạch demo sử dụng giao tiếp USB sẽ được trình bày trong phần 4. Trong phần 2 sẽ trình bày khái quát về chuẩn giao tiếp USB. Đây cũng chính là phần cốt lõi của toàn bộ bản báo cáo. Phần 2 được chia làm tám mục nhỏ được đánh số thứ tự theo hệ thống số la mã. Mục đầu tiên trình bày ngắn gọn về lịch sử hình thành và phát triển của chuẩn giao tiếp USB. Mục số 2 sẽ đề cập đến các thành phần cấu thành chuẩn giao tiếp, phần này giúp ta làm quen với một số thuật ngữ thường dùng.Sau khi được làm quen với các thuật ngữ,chúng ta sẽ chuyển sang mục 3 với các thông tin về các thành phần chính tham gia trực tiếp quá trình vận chuyển. Sang mục số 4 sẽ đem đến cho chúng ta nhữ ng chi tiết về các loại kiểu truyền nhận. Trong mỗi kiểu truyền sẽ nhắc đến các đặc tính của từng kiểu truyền như là tính sẵn sàng của thiết bị, cấu trúc kiểu truyền, kích thước lớn nhất của từng gói dữ liệu cũng như tốc độ của mỗi kiểu truyền. Mỗi thông tin về một kiểu truyền sẽ được nhắc lạ i nhiều trong ở phía sau. Tiếp theo chúng ta sẽ được tìm hiểu thêm về cơ chế hoạt động của giao tiếp thông qua sự điểm danh, đây là hoạt động cơ bản và quan trọng nhất trong quá trình truyền nhận dữ liệu giữa thiết bị và máy tính .Trong mục 5 này sẽ trình bày từng bước của quá trình điểm danh. Các mục còn lại trình bày một phần của quá trình giao tiếp diễn ra trên host, các mục này bao gồm giao tiếp trên host và host lựa ch ọn driver. Riêng mục 7 sẽ đề cập đến driver thiết bị. Phần 3 của báo cáo mô tả việc thi công mạch demo giao tiếp USB, các bản mô tả mạch luận lý của mạch được thể hiện qua các hình trong Orcad capture cis, phần này cũng bao gồm luôn đoạn code firmware cho vi điều khiển. Phần cuối cùng của bản báo cáo sẽ giới thiệu một số hàm cơ bản trong viết ứng dụng giao tiếp với thiết bị . Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC http://www.ebook.edu.vn SV:Trần Quốc Gia Phú, Trần Hạ Long - 2 MỤC LỤC Phần 1: Tổng quan về PIC và các trình biên dịch C cho PIC . 5 I) TỔNG QUAN VỀ VI ĐIỀU KHIỂN PIC 5 II) Phần đánh giá trên forum của CCS: 8 III) Phần đánh giá trên forum của microchip: . 13 IV) Quyết định loại trình biên dịch: 13 Phần 2:Giao tiếp USB . 15 I) Sự ra đời của chuẩn USB: . 15 II) Các cấu thành giao tiếp USB: . 15 III) Các thành phần tham gia vận chuyển: 17 IV) Các kiểu truyền(tranfer): . 18 V) Sự điểm danh: . 28 VI) Giao tiếp từ Host: 33 VII) Giao tiếp trên host: 34 VIII) Host lựa chọn driver 35 Phần 3:Thiết kế m ạch giao tiếp USB thuộc lớp HID 37 I) Mục tiêu: . 37 II) Thi công mạch: . 37 III) Viết firmware: . 39 Phần 4:Viết ứng dụng giao tiếp chuẩn USB trên host 48 I) Giới thiệu chung về lập trình ứng dụng trên host : . 48 II) Các quy trình để nhận biết một thiết bị usb : 48 III) Các hàm Read và Write : 51 Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC http://www.ebook.edu.vn SV:Trần Quốc Gia Phú, Trần Hạ Long - 3 Mục lục hình Hình 1:Sơ đồ chân. . 8 Hình 2:Kiến trúc hình sao phân tầng USB 17 Hình 3:Các giao dịch trong truyền điều khiển read. . 21 Hình 4: Các giao dịch trong truyền điều khiển write 22 Hình 5: Giao dịch IN và OUT của hai kiểu truyền bulk và ngắt. . 24 Hình 6: Giao dịch đồng bộ IN và OUT . 27 Hình 7 :Module kết nối USB và điều khiển trong Orcard capture cis . 38 Hình 8: Module hiển thị 39 Hình 9: sơ đồ giao tiếp từ chương trình ứng dên driver. . 48 Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC http://www.ebook.edu.vn SV:Trần Quốc Gia Phú, Trần Hạ Long - 4 Mục lục bảng báng1:Những đặc tính thiết bị . 7 Bảng2:Bảng so sánh các trình soạn thảo code cho vi điều khiển PIC. . 13 Bảng3: mô tả các dây trong cáp truyền . 15 Bảng4:so sánh tốc độ các kiểu truyền . 20 Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC http://www.ebook.edu.vn SV:Trần Quốc Gia Phú, Trần Hạ Long - 5 Phần 1: Tổng quan về PIC và các trình biên dịch C cho PIC I)Tổng quan về vi điều khiển PIC: 1.Những tính năng lõi mới: a)Công nghệ nanowatt : - Tất cả các thiết bị chip trong họ PIC18F2455/2550/4455/4550 đều có đặc trưng chung là giảm bớt năng lượng tiêu thụ đáng kể trong suốt quá trình hoạt động của chip. Gồm có các chế độ sau : -Alternate run Modes ( Chế độ chạy luân phiên ) : xung clock được điều khiển từ bộ tạo xung Timer1 hoặc từ khối tạo dao động nội, trong suốt quá trình thực thi đoạn mã nă ng lượng tiêu hao có thể chỉ bằng 90% so với những chip khác . -Multiple Idle Modes (Chế độ chạy đa nhàn rỗi) : Mạch điều khiển có thế chạy với việc nhân của CPU bị vô hiệu hóa .Nhưng các thiết bị ngoại vi vẫn còn hoạt động.Trong trang thái này , mức tiêu thụ năng lượng có thể được giảm không nhiều , ít hơn 4% so với nhu cầu của sự hoạt động thông thường. -On-the-fly Mode Switching : Chế độ quả n lý năng lượng này được điều khiển bởi mã của user trong suốt quá trình hoạt động .Ở chế độ này cho phép user thể hiện ý tưởng tổ chức tiết kiệm năng lượng trong thiết kế phần mềm . -Low consumption in Key : Nhu cầu năng lượng cho cả Timer1 và Watchdog Timer đã được giảm đến mức tối thiểu . b)Universal Serial Bus (USB) : - Thiết bị trong họ PIC18F2455/2550/4455/4550 tích hợp một module giao tiếp USB tương ứng với USB Specification Revision 2.0 . - Module này hỗ trợ cả hai sự kết nối low-speed(1.5 Mb/s) và full-speed ( 12 Mb/s) cho tất cả các kiểu chuyển đổi dữ liệu được hỗ trợ. - PIC18F4550 cũng tích hợp transceiver(máy thu) và regulator(máy điều chỉnh) 3.3V riêng , đồng thời hỗ trợ việc sử dụng những transceiver bên ngoài và regulator điện áp khác. c)Multiple Oscillator Options And Features (Đa tuỳ chọn bộ tạo dao động và những tính năng ) : Tất cả các thiết bị trong họ PIC18F2455/2550/4455/4550 cung cấp 12 sự chọ n lựa khác nhau bộ phận tạo dao động.Cho phép user có phạm vi lựa chọn lớn hơn trong việc phát triển ứng dụng phần cứng.Bao gồm : a. Bốn chế độ Crystal : dùng thạch anh hay bộ tạo dao động bằng gốm b. Bốn chế độ xung clock ngọai : cho phép tuỳ chọn sử dụng 2 chân ( chân nhận dao động ngoại vào và chân đưa ra xung clock đã được chia 4 ra) hoặc sử dụng 1 chân (chân nhận dao động ngoại vào , chân còn lại đượ c dùng như cổng I/O chung ) Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC http://www.ebook.edu.vn SV:Trần Quốc Gia Phú, Trần Hạ Long - 6 c. Khối thiết bị tạo dao động nội :cung cấp clock 8 MHz (độ sai lệch 2%) , một nguồn INTRC(xấp xỉ 31kHz,ổn định qua nhiệt độ và nguồn VDD) , một dải 6 sự lựa chọn tần số clock từ 125kHz đến 4MHz, vậy là có tổng cộng 8 tần số dao động để người dùng lựa chọn . Tuỳ chọn này còn cho phép giải phóng 1 chân bộ tạ o dao động để sử dụng như cổng I/O chung. d. Chế độ đa tần số của bộ tạo xung clock PLL : sẵn có cho cả chế độ high_speed crystal và chế độ tạo dao đông ngoại , cho phép một dải ộ xung clock từ 4MHz đến 48MHz. e. Hoạt động xung clock bất đồng bộ : cho phép module USB chạy với xung clock tạo ra bởi bộ dao động tần số cao trong khi phần còn lại của thiết bị vi đi ều khiển hoạt dộng với xung clock tạo ra bởi bộ tạo dao động low-power nội . f. Bên cạnh tính sẵn sàng như một nguồn tạo dao động , khối tạo dao động nội còn cung cấp một nguồn tham khảo ổn định tạo ra những tính năng bổ sung cho chip ,giúp thao tác được linh hoạt: - Fail-safe Clock Monitor : liên tục theo dõi nguồn tạo dao động chính , dự phòng một tín hiệu tần số do bộ tạo dao động nội cung cấ p . Nếu xuất hiện clock hoạt động không như mong muốn , bộ điều khiển được chuyển tới khối tạo dao động bên trong hay một chế độ kết thúc an toàn. -Two-Speed Start-up : cho phép dùng bộ tạo dao động nội như nguồn tạo clock trong Power-on Reset , hay wake-up from sleep , cho đến khi nguồn tạo clock chính sẵn sàng. 2.Những tính năng đặc biệt khác: a)Memory Endurance(Sự kéo dài bộ nhớ): Sự gia tăng flash cell cho cả bộ nhớ chương trình và bộ nhớ dữ liệu EEPROM ước tính có thể thực hiện việc xoá/ghi lên đến 100 ngàn lần cho bộ nhớ chương trình , 1 triệu lần cho EEPROM . Dữ liệu có thể được đảm bảo lưu trữ trong hơn 40 năm . b)Sefl-Programmability : Khả năng tự lập trình , bằng cách sử dụng bootloader routine (được xác định trong khối protected Boot ở đầu bộ nhớ chương trình) c)Extened Instruction Set (Mở rộng tập lệnh) : Thêm vào 8 lệnh mới và mode đánh đị a chỉ Offset bằng kí tự đánh chỉ số d)Enhanced CCP Module (Tăng cường module CCP): -Trong mode PWM module này cung cấp 1,2 hay 4 chân output (được điều chế) để điều khiển việc chạy half-bridge và full-bridge . -Những tính năng khác : tự động shutdown để vô hiệu hoá PWM output trong ngắt hay trường hợp có lựa chọn điều kiện ; tự động restart để kích hoạt lại output khi điều kiện đã bị xoá . e)Enhanced Addressable USART : Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC http://www.ebook.edu.vn SV:Trần Quốc Gia Phú, Trần Hạ Long - 7 Automatic Baud Rate Detection và Baud Rate Generator 16-bit để tăng dộ phân giải . Khi vi điều khiển dùng khối tạo dao động nội , EUSART cung cấp chế độ ổn định cho những ứng dụng giao tiếp với bên ngoài mà không cần đến nguồn crystal ngoại (hay nguồn năng lượng hỗ trợ). f)10-bit A/D Converter (Bộ biến đổi ADC 10-bit): Module này hợp nhất thời gian thu nhận chương trình , khi 1 kênh truyền được chọn lựa và một quá trình chuyển đổi xảy ra , không cần chờ thời gian làm mẫu và như vậy giảm bớt code overhead . g)Dedicated ICD/ICSP Port ( Dành cho ICD/ICSP Port): Cho phép người dùng phát triển những ứng dụng dùng I/O cường độ cao mà vẫn giữ khả năng nhập chương trình và debug trong mạch . 3.Những đặc tính thiết bị : Tính năng Tần số làm việc DC-48 MHz Bộ nhớ chương trình(bytes) 32k Bộ nhớ chương trình(lệnh) 16384 Bộ nhớ dữ liệu(bytes) 2k Bộ nhớ dữ liệu EEPROM(bytes) 256 Những nguồn ngắt 20 I/O ports Port A,B,C,D,E Timers 4 Capture/Compare/PWM Modules 1 Enhanced Capture/Compare/ PWM Modules 1 Truyền thông tuần tự MSSP , Enhanced USART USB 1 Streaming Parallel Port(SPP) Có 10-bit Analog-to-Digital Modules 13 kênh Input Comparators 2 Resets ( và Delays) POR, BOR, lệnh RESET, Stack Full, Stack Underflow , (PWRT,OST), Programmable Low-Voltage Detect có Programmable Brown-out Reset Có Lệnh Set 75 lệnh ; 83 với tập lệnh mở rộng được cho phép Packages 40-pin PDIP 44-pin QFN 44-pin TQFP báng1:Những đặc tính thiết bị. Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC http://www.ebook.edu.vn SV:Trần Quốc Gia Phú, Trần Hạ Long - 8 4.Sơ đồ chân : Hình 1:Sơ đồ chân. II)Đánh giá các trình biên dịch: Hiện nay trên thế giới, có rất nhiều nhà sãn trình biên dịch dựa theo ngôn ngữ C dành cho các dòng vi điều khiển PIC. Trong số các trình biên dịch này, có một số đựơc sử dụng rất rộng rãi và phồ biến trên toàn thế giới như :CCS –C, Microchip C18,C30; Hi- tech PICC , IAR embedded Workbench. Các trình biên dịch này chiếm hầu hết thị phần trong lĩnh vực trình biên dịch cho PIC. Do có nhiều trình biên dịch nên viêc lựa chọn ra một trong số đó sẽ không dễ dàng cho lắm. Viêc lựa chọn này cũng phả i dựa trên nhiều tiêu chí để phù hợp với điều kiện và mục đich sử dụng. Tiêu chí để đánh giá đựơc một chưong trình cũng có rất nhiều. Thông thường khi đánh giá người ta chỉ đánh giá dựa theo một số tiêu chí chủ yếu như là: giá cả, đặc điểm ngôn ngữ, thư viện hỗ trợ, IDE và benchmark. Trong phần này sẽ trình bày việc so sánh các trình biên dịch thông qua các tiêu chí đã đề cập ở trên. Phần so sánh này được thực hiện bởi những người có kinh nghiệm về lập trình PIC trên diễn đàn khá nổi tiếng về vi điều khiển PIC. Các diễn đàn thường do các công ty sãn xuất trình biên dịch lập ra hoặc do những người phát triển các ứng dụng vi điều khiển lập ra. 1.Phần đánh giá trên forum của CCS: -Phần đánh giá được trình bày theo dạng bảng so sánh. Bảng được lấy từ Forum tại đị a chỉ: Phần 1: Tổng quan về vi điều khiển PIC và so sánh các trình biên dịch C cho PIC http://www.ebook.edu.vn SV:Trần Quốc Gia Phú, Trần Hạ Long - 9 https://www.ccsinfo.com/content.php?page=newcompilercomp#CCS . CCS – C v.4 Microchip C18 v3.0/ C30 v2.05 Hi-Tech PICC V 9.5 IAR embedded Workbench v2.21 Phần 1 Sản phẩm / giá PIC hỗ trợ pic 12 , 14 ,16 và 24 bit C18 pic 16 bit C30 pic 24 bit PICC pic 12 bit và 14 bit PICC18 pic 16- bit dsPICC pic 24- bit PIC16/17 pic 14 bit PIC18 pic 16 bit dsPIC pic 24 bit Hệ điều hành Windows ,Linux Windows Windows ,Linux Mac OS ,Sun Windows Giá cả License: 12-bit = $50 14-bit = $150 16-bit = $200 24-bit = $250 12-bit, 14-bit + IDE = $350 12-bit, 14-bit, 16-bit + IDE = $500 24-bit + IDE = $350 12-bit, 14-bit, 16-bit, 24-bit + IDE = $600 License: 16-bit + IDE = $495 24-bit + IDE = $895 License: 12-bit, 14-bit + IDE = $950 16-bit + IDE = $950 24-bit + IDE = $1,150 16-bit, 24-bit + IDE = $2,400 Support: 12-bit, 14-bit + IDE = $250 16-bit + IDE = $250 24-bit + IDE = $250 16-bit, 24-bit + IDE = $250 License: 14-bit + IDE = $2,695 16-bit + IDE = $2,695 24-bit + IDE = $2,695 Includes: 1-year Warranty [...]... hình mong muốn Nhiêu thi t bị chỉ hỗ trợ duy nhât một cấu hình Nếu thi t bị hỗ trợ đa cấu hình, thi t bị có thể quyết định loại cấu hình nào sẽ được sử dụng dựa tren bất cứ thông tin nào nó có được về thi t bị đang sử dụng, hoặc nó có thể hỏi ý kiến của ngừơi dùng nen thực hiện thề nào, hoặc nó có thể chỉ lực chọn đúng cấu hình đầu tiên Thi t bị đọc yêu cầu cấu hình để so trùng Thi t bị chuyển sang... tiêu truy xuất thi t bị 1.Căn bản về driver thi t bị: Driver thi t bị là một tổ hợp phần mền cho phép ứng dụng có thể truy xuất được một thi t bị phần cứng Thi t bị đó có thể là máy in, modem , bàn phím, đầu phát video, đơn vị thu dữ liêu, hay một thi t bị nào đó mà CPU có thể truy xuất thông qua các đường mạch Thi t bị cũng có thể nằm ngay trong máy tính như các ổ đĩa cứng và nó cũng có thể sử dụng cáp... phải thông qua driver thi t bị Vì chỉ có river thi t bị mới thực hiện liên lạc giữa hệ thống các driver USB và các ứng dụng nhằm mục tiêu truy xuất thi t bị 1.Driver thi t bị: Driver thi t bị là một tổ hợp phần mền cho phép ứng dụng có thể truy xuất được một thi t bị phần cứng Thi t bị đó có thể là máy in, modem , bàn phím, đầu phát video, đơn vị thu dữ liêu, hay một thi t bị nào đó mà CPU có thể truy... là thi t bị tổ hợp Loại thi t bị này có đa giao tiếp, với mỗi giao tiếp cần phải có một driver Host có thể gán các driver này chỉ khi các giao tiếp được phép tích cực, các loại này cần được thi t bị cấu hình 12)Driver thi t bị lựa chọn cấu hình: Sau khi tìm hiểu thi t bị từ các descriptor, driver thi t bị yeu cầu một sự cấu hình bằng cách gửi một yêu cầu Set_Configuration với một số thứ tự cấu hình. .. hub và điều khiển host cùng làm việc với nhau nhằm mục tiêu cho phép hệ điều hành được liên lạc với thi t bị thông qua hub Root hub có một hoặc nhiều connector cho việc gắn vào hoặc gỡ bỏ thi t bị, mang theo các yêu cầu từ điều khiển host đến thi t bị, và mang các dữ liệu di chuyển giữa thi t bị và điều khiển host 5 .Thi t bị: Thi t bị có thể là một ngoại vi hoặc các hub thứ cấp thêm vào được kết nối vào... ống(pipe): -Trước khi một truyền được thực thi, host và thi t bị phải thi t lập môt đường ống Đường ống không phải là một đối tượng vật lý, nó chỉ là mốt quan hệ giữa điểm cuối thi t bị và phần mền điều khiển host -Host thi t lập đường ống nhanh chóng sau khi hệ thống hoạt động hoặc thi t bị kết nối vào, trong việc yêu cầu thông tin cấu hình từ thi t bị Nếu thi t bị được tháo gỡ khỏi bus, hsot sẽ xóa... thông tin của thi t bị để hoàn thành việc nhận biết Tiến trình bao gồm gán một địa chỉ cho thi t bị, đọc cấu trúc dữ liệu từ thi t bị, cuối cùng là lựa chọn cấu hình từ các option đã được chọn thông qua dữ liệu đã truy xuất Thi t bị được cấu hình và sẵn sàng để vận chuyển dữ liệu thông qua các điểm cuối đã cấu hình 1.Tiến trình: -Một trong những nhiệm vụ của hub là phát hiện thi t bị gắn vào hoặc tháo... vi và khả năng -Người viết phần dẻo của thi t bị không nên cho rằng các yêu cầu và sự kiện điểm danh sẽ thực thi trong một thứ tự đặc biệt Tuy nhiên người viết nên cho thi t bị sẵn sàng chuẩn bị và đáp ứng các yêu cầu điều khiển tại mọi thời điểm a)Các bước: 1)Người dùng cắm thi t bị vào cổng USB: Sự kiện này xảy ra tương dương với việc thi t bị đã cắm vào cổng USB trước khi máy tính khởi động Cổng USB. .. quy Không Có Không Không Hỗ trợ Assembly Có Có Có Có Chuỗi bit Có Không Không Không Bỏ các hàm Có không sử dụng Không Không Có Con trỏ trỏ đến hằng Có Có Có Có Ghi đè hàm Có Không Không Không Tham số tham khảo Có Có Không Không Tham số mặc định Có Không Không Không Có thể xác định dữ liệu C trong bộ nhớ không phải là RAM Tự động đóng gói các biến bit Phần 3 Có Không Không Không Có Không Có Không Thư... thì có một hay nhiều cổng dành cho việc kết nối thi t bị Mỗi thi t bị phải chứa mạch điện vật lý và code để có thể lein6 lạc được với host Đặc tả định cable và connector kết nối đến hub 6.Bus topology: -Togpology hay còn gọi là sự sắp xếp các kết nối các thi t bị tuân theo kiến trúc bus hình sao phân tầng(tiered star) Tại điểm trung tâm của mỗi sao là một hub Mỗi điểm trên một sao là một thi t bị kết . BÁO CÁO ĐỒ ÁN TIN HỌC Đề tài : Thi t kế và thi công mạch hẹn giờ đa năng có thể cấu hình qua cổng USB GVHD :. khiển PIC với máy tính thông qua cổng USB. Thi t kế mạch và viết chương trình có thể truyền nhận dữ liệu với máy tính qua cổng USB. Các yêu cầu trên sẽ được