Nghiên cứu, thiết kế và chế tạo phân hệ mạch nhúng sử dụng AT91SAM9260. Tập trung nghiên cứu về hệ điều hành Linux, sử dụng để cài đặt cho phân hệ mạch nhúng. Tập trung tìm hiểu, nghiên cứu về truyền thông không dây giữa phân hệ mạch nhúng và thiết bị cài đặt Android. Tìm hiểu về lập trình trên nền tảng hệ điều hành Linux (ngôn ngữ lập trình C) cho thiết bị nhúng truyền thông không dây với thiết bị cài đặt Android (ngôn ngữ lập trình Java)
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THÔNG ====o0o==== Đ ÁN TỐT NGHIỆP ĐẠI HỌC ĐỀ TÀI: THIẾT KẾ, CHẾ TẠO PHÂN HỆ VI XỬ LÝ NHÚNG TRUYỀN DỮ LIỆU VÔ TUYẾN VỚI THIẾT BỊ CÀI ĐẶT HỆ ĐIỀU HÀNH ANDROID Giảng viên hướng dẫn: PGS.TS Vũ Văn Yêm Ths. Nguyễn Anh Quang Nhóm sinh viên thực hiện: Nguyễn Thị Thúy An - 20093360 Dương Tuấn Anh - 20090060 Hà Nội, 06 - 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Độc lập - Tự do - Hạnh phúc NHIỆM VỤ Đ ÁN TỐT NGHIỆP Họ và tên sinh viên: Nguyễn Thị Thúy An Số hiệu sinh viên: 20093360 Họ và tên sinh viên: Dương Tuấn Anh Số hiệu sinh viên: 20090060 Khoá: 54 Viện: Điện tử - Viễn thông Ngành: Điện tử - viễn thông 1. Đầu đề đồ án: Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. 2. Các số liệu và dữ liệu ban đầu: - Vi xử lý ARM AT91SAM9260. - Hệ điều hành Linux phiên bản 2.6.27 và 2.6.30. - Hệ điều hành Android. 3. Nội dung các phần thuyết minh và tính toán: - Chương 1: Nghiên cứu và thiết kế mạch nhúng sử dụng vi xử lý AT91SAM9260 - Chương 2: Hệ điều hành Linux. - Chương 3: Nghiên cứu các phương thức giao tiếp giữa Android phone và phân hệ vi xử lý nhúng sử dụng AT91SAM9260. - Chương 4: Kịch bản thực nghiệm và kết quả đạt được. 4. Các bản vẽ, đồ thị ( ghi rõ các loại và kích thước bản vẽ ): Cần thiết cho bảo vệ 5. Họ tên giảng viên hướng dẫn: PGS.TS Vũ Văn Yêm – Ths. Nguyễn Anh Quang. 6. Ngày giao nhiệm vụ đồ án: 02/2014. 7. Ngày hoàn thành đồ án: 06/2014. Ngày tháng năm Chủ nhiệm Bộ môn Giảng viên hướng dẫn Sinh viên đã hoàn thành và nộp đồ án tốt nghiệp ngày tháng năm Cán bộ phản biện BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI BẢN NHẬN XÉT Đ ÁN TỐT NGHIỆP Họ và tên sinh viên: Nguyễn Thị Thúy An Số hiệu sinh viên: 20093360 Họ và tên sinh viên: Dương Tuấn Anh Số hiệu sinh viên: 20090060 Ngành: Điện tử - viễn thông Khoá: 54 Giảng viên hướng dẫn: PGS.TS Vũ Văn Yêm – Ths. Nguyễn Anh Quang. Cán bộ phản biện 1: 1. Nội dung thiết kế tốt nghiệp: 2. Nhận xét của cán bộ phản biện: Ngày tháng năm Cán bộ phản biện ( Ký, ghi rõ họ và tên ) Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. LỜI MỞ ĐẦU Ngày nay, trước sự phát triển nhanh đến mức chóng mặt của công nghệ hiện đại, sự phát triển của máy tính (PC) đã chuyển sang giai đoạn thứ 3 – giai đoạn của môi trường thông minh mà hệ thống nhúng là cốt lõi (còn gọi là giai doạn hậu PC). Thiết bị ngày nay phải có nhiều chức năng, thân thiện với người dùng, đặc biệt gia tăng độ thông minh. Đó là lý do xuất hiện các loại điện thoại di động tích hợp nhiều tính năng, các mẫu người máy (Robot) ngày càng giống người thật. Chính điều này cần đến vai trò của hệ thống nhúng. Hệ thống nhúng hiểu nôm na là hệ tính toán nhúng vào một sản phẩm để thực hiện một số chức năng cụ thể. Hệ nhúng trải rộng trong tất cả các ngành từ thiết bị tiêu dùng, y tế, giao thông, công nghiệp đến những lĩnh vực cao cấp như máy bay, tên lửa, vệ tinh. Hệ thống nhũng đã được ứng dụng vào rất nhiều sản phẩm quanh ta như lò vi sóng, nồi cơm điện, điều hòa, ti vi, điện thoại di động Các thiết bị này ngoài chức năng truyền thống còn được túc hợp nhiều tính năng mới thông qua hệ điều khiển nhúng, chẳng hạn như lò vi sóng có thể điều khiển bằng giọng nói, điều khiển qua điện thoại di động Lâu nay chúng ta mới nhìn thấy bề nổi của CNTT là PC và Internet, còn phần chìm của CNTT là bộ xử lý nằm trong các hệ thống nhúng ít được biết đến. Sau khi tìm hiểu về hệ thống nhúng và các ứng dụng thực tiễn của nó, nhóm tác giả quết định chọn đề tài “Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành android”. Để hoàn thành được đồ án này, nhóm tác giả đã nhận được sự quan tâm giúp đỡ nhiều người. Đầu tiên, xin gửi lời cảm ơn chân thành và sâu sắc nhất đến hai thầy giáo hướng dẫn PGS.TS Vũ VănYêm, Th.S Nguyễn Anh Quang đã giúp đỡ rất nhiều về mặt kiến thức, kỹ thuật và đưa ra định hướng, ý tưởng thực hiện cũng như tạo điều kiện cho nhóm tác giả về thiết bị và nơi nghiên cứu. Nhóm tác giả cũng xin gửi lời cảm ơn chân thành đến các bạn trong RF lab đã giúp đỡ nhóm hoàn thành đồ án này. Sinh viên thực hiện: Nguyễn Thị Thúy An - Dương Tuấn Anh. Nguyễn Thị Thúy An – Dương Tuấn Anh 4 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. TÓM TẮT Đ ÁN Hiện nay, nhiều quốc gia trên thế giới đang hướng đến phát triển các hệ nhúng và phần mềm nhúng. Trong xu thế đó, các nhà khoa học, kỹ sư của Việt Nam đã rất nhiều các nghiên cứu về hệ thống nhúng ở các doanh nghiệp, các trường đại học. Hệ thống nhúng là một hệ thống chuyên dụng, có khả năng tự hành và được thiết kế tích hợp cả phần cứng lẫn phần mềm để thực hiện một chức năng chuyên biệt nào đó. Tiếp cận với công nghệ đó, nội dung đồ án mà nhóm tác giả thực hiện tập trung nghiên cứu, thiết kế và chế tạo phân hệ mạch nhúng sử dụng AT91SAM9260, bao gồm những nội dung chính sau: - Nghiên cứu, thiết kế và chế tạo phân hệ mạch nhúng sử dụng AT91SAM9260. - Tập trung nghiên cứu về hệ điều hành Linux, sử dụng để cài đặt cho phân hệ mạch nhúng. - Tập trung tìm hiểu, nghiên cứu về truyền thông không dây giữa phân hệ mạch nhúng và thiết bị cài đặt Android. - Tìm hiểu về lập trình trên nền tảng hệ điều hành Linux (ngôn ngữ lập trình C) cho thiết bị nhúng truyền thông không dây với thiết bị cài đặt Android (ngôn ngữ lập trình Java) Phân hệ mạch nhúng được cài đặt hệ điều hành Linux phiên bản 2.6.27 hoặc phiên bản 2.6.30, hoạt động theo chế độ thời gian thực và giao tiếp không dây với thiết bị cài đặt Android thông qua chuẩn Bluetooth và wifi. Nguyễn Thị Thúy An – Dương Tuấn Anh 5 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. ABTRACT Nowadays, the embedded systems and embedded software are developed in many countries over the world. Following the trend, many projects on embedded systems in many companies, institutes and universities is researched and developed by Vietnamese researchers and engineers. Embedded system is a dedicated system which is capable of self-propelled and integrated both hardware and software to perform a specialized function. Based on these technologies, the purpose of our thesis is researching, designing and implementing the embedded circuit module using AT91SAM9260, include the following contents: - Research, design and manufacture of the embedded circuit hardware module using AT91SAM9260 microcontrollers. - Research the Linux operating system, using Linux to set up in the embedded circuit module - Research and develop the communication between the embedded circuit module and Android devices. - Research to program a application software based on Linux OS (C language) for the hardware embedded board communicating with the Android devices (Java language) The embedded circuit module installed Linux version 2.6.27 or 2.6.30 operates under real-time mode and communicates with Android devices using Bluetooth or Wifi interface. MỤC LỤC Nguyễn Thị Thúy An – Dương Tuấn Anh 6 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. DANH SÁCH CÁC HÌNH VẼ DANH SÁCH CÁC BẢNG BIỂU DANH SÁCH CÁC TỪ VIẾT TẮT Nguyễn Thị Thúy An – Dương Tuấn Anh 7 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. RAM Random Access Memory ARM Acorn RISC Machine CPU Central Processing Unit UART Universal asynchronous receiver/transmitter I2C Inter-Integrated Circuit SPI Serial Peripheral Interface SD/MMC Secure Digital / MultiMedia Card DMA Direction Memory Access SDRAM Synchronous Dynamic RAM COM Communication port SRAM Static RAM DRAM Dynamic RAM LPC Low Pin Count TTL Time to live HID Human interface device NIC Network interface card FAT File Allocation Table IDE Integrated development environment SCSI Small Computer System Interface MTD Memory Technology Device PDA Personal digital assistant Nguyễn Thị Thúy An – Dương Tuấn Anh 8 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. Chương 1. NGHIÊN CỨU VÀ THIẾT KẾ PHÂN HỆ MẠCH NHÚNG SỬ DỤNG VI XỬ LÝ AT91SAM9260 1.1 Tổng quan về ARM và vi xử lý AT91SAM9260 1.1.1 Giới thiệu về họ vi xử lý họ ARM Tổng quan Cấu trúc ARM (viết tắt từ tên gốc là Acorn RISC Machine) là một họ vi xử lý có cấu trúc vi xử lý 32bit kiểu RISC (viết tắt của Reduced Instructions Set Computer - Máy tính với tập lệnh đơn giản hóa) được sử dụng rộng rãi trong các thiết kế nhúng. Vi điều khiển họ ARM thiết kế kiểu RISC sẽ tốn ít bóng bán dẫn hơn đáng kể so với bộ vi xử lí x86 CISC có mặt phổ biến hầu hết ở các máy tính cá nhân ngày nay. Điều đó làm giảm chi phí sản xuất, nhiệt năng tỏa ra và điện năng sử dụng. Bên cạnh đó, ARM có thiết kế đơn giản, tạo điều kiện thuận lơi và hiệu quả hơn cho việc sản xuất các CPU đa lõi với chi phí thấp. Do có đặc điểm tiết kiệm năng lượng, giá thành các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu. ARM được phát triển bởi ARM Holdings, ARM Holdings chỉ phát triển các tệp lệnh và kiến trúc cho các sản phẩm dựa trên ARM nhưng không sản xuất sản phẩm. Công ty theo định kỳ phát hành các bản cập nhật cho lõi của nó. Hiện tại, các lõi ARM của ARM Holdings đa số hỗ trợ không gian địa chỉ 32bit và 32bit số học. Một kiến trúc mới là ARMv8 ra mắt vào tháng 10 năm 2011 hỗ trợ thêm cho một không gian địa chỉ 64bit và 64bit số học. Một số phiên bản hỗ trợ cả không gian địa chỉ 16bit và 16 bit số học. ARM Holdings cấp giấy phép thiết kế chip và các hướng dẫn thiết lập kiến trúc ARM cho các bên thứ ba, các công ty sẽ tự thiết kế sản phẩm của mình bao gồm cả hệ thống chip SoC (Systems-on-Chips) có kết hợp bộ nhớ, giao diện, radio Ngày nay, các nhân được sử dụng rộng rãi là Cortex, lõi cũ “classic”, và lõi chuyên dụng SecurCore. Có rất nhiều các công ty sản xuất ARM như Apple, Nguyễn Thị Thúy An – Dương Tuấn Anh 9 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. Nvidia, Qualcomm, Rockchip, Samsung Electronics, và Texas Instruments. Trong đó Apple lần đầu tiên áp dụng kiến trúc ARMv8-A vào trong con chip Apple A7 trên sản phẩm iPhone 5S của họ. Trên toàn cầu, ARM có kiến trúc tập lệnh 32bit là loại vi xử lí được sử dụng rộng rãi nhất về số lượng sản xuất. Năm 2005, khoảng 98% các điện thoại di động được bán ra sử dụng ít nhất một bộ vi xử lí ARM. Do tiêu thụ điện năng thấp của bộ vi xử lý ARM đã làm cho nó trở nên phổ biến. Đến năm 2013 đã có 37 tỉ bộ xử lí ARM được sản xuất, so với 10 tỉ đơn vị năm 2008. Theo ARM Holdings, chỉ tính riêng năm 2010 các nhà sản xuất chip đã sản xuất 6,1 tỉ bộ vi xử lý trên nền ARM, được sử dụng cho 95% điện thoại thông minh, 35% ti vi kĩ thuật số vào hộp set-top, khoảng 10% máy tính xách tay. Lịch sử phát triển Công ty máy tính Acom đã bắt đầu nghiên cứu và phát triển ARM từ năm 1983 trong một dự án phát triển bộ vi xử lý cho máy tính cá nhân của mình. Nhóm thiết kế, dẫn đầu bởi Roger Wilson và Steve Furber, bắt đầu phát triển một bộ vi xử lý có nhiều điểm tương đồng với kỹ thuật MOS 6502 tiên tiến. Các sản phẩm dựa trên ARM đầu tiên đó là các mô-đun bộ xử lý thứ cấp cho dòng máy tính BBC Micro. Sau khi máy tính BBC Micro thành công, Acorn Computer xem xét việc đưa sản phẩm tương tự như MOS Technology 6502 của họ tham gia thị trường máy tính cho doanh nghiệp mà đã bị IBM chi phối từ sớm với sản phẩm máy tính ra mắt từ năm 1981. Acorn Business Computer (ABC) lên kế hoạch tìm kiếm bộ vi xử lý thứ 2 làm việc với nền tảng BBC Micro, nhưng bộ vi xử lý như Motorola 6800 và National Semiconductor 32016 không phù hợp, và 6520 không đủ mạnh để xây dựng đồ họa giao diện người dùng. Sau khi thử nghiệm tất cả các bộ vi xử lí có sẵn, Acorn quyết định cần một kiến trúc mới. Lấy cảm hứng từ dự án Berkeley RISC, Acorn tự thiết kế bộ vi xử lí của riêng mình. Acorn đã từng sản xuất nhiều máy tính dựa trên 6502, vì vậy việc tạo ra một chip như vậy là một bước tiến đáng kể của công ty này. Nguyễn Thị Thúy An – Dương Tuấn Anh 10 [...]... Input/Output đa mục đích Nguyễn Thị Thúy An – Dương Tuấn Anh 15 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android Hình 1 2 Sơ đồ khối của vi xử lý AT91SAM9260 [14] Nguyễn Thị Thúy An – Dương Tuấn Anh 16 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android Sơ đồ chân của AT91SAM9260: - AT91SAM9260 có... Tuấn Anh 22 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android AT91SAM9260 có thể quản lý một vùng nhớ lên đến 4Gbyte địa chỉ, vùng nhớ này được phân thành 16 bank với mỗi bank là 256Mbyte địa chỉ Mỗi bank này sẽ quản lý bộ nhớ của một thiết bị nhớ nhất định hoặc một vùng nhớ nhất định Mặc dù thiết bị nhớ hoặc vùng nhớ không chứa dữ liệu hoặc không... thực tế của thiết bị nhớ Địa chỉ offset của ô nhớ thứ nhất của thiết bị nhớ là 0x00000000, của ô nhớ thứ hai là 0x00000001 và của ô nhớ cuối cùng là 0x0FFFFFFF Nguyễn Thị Thúy An – Dương Tuấn Anh 23 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android Bank 0 dùng để quản lý bộ nhớ nội của của vi xử lý ROM được quản lý với địa chỉ vật lý từ 0x00100000... dòng không bao giờ vượt quá 10μA kể cả điều kiện xấu - nhất Trong trường hợp có tải, vi xử lý AT91SAM9260 tiêu thụ tối đa 100mA trên VDDCORE (1.8V, 25oC, bộ vi xử lý chạy với tốc độ xử lý cao nhất) Bản đồ vùng nhớ của AT91SAM9260: Nguyễn Thị Thúy An – Dương Tuấn Anh 21 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android Hình 1.5 Bản đồ vùng nhớ của... NCS0 đến NCS7 chọn chip tương ứng Bank 15 quản lý quản lý vùng nhớ của các thiết bị ngoại vi Các vùng nhớ có màu đậm là các vùng nhớ dự trữ hoặc là chưa sử dụng đến Nguyễn Thị Thúy An – Dương Tuấn Anh 24 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android 1.2 Thiết kế phân hệ mạch nhúng 1.2.1 Sơ đồ khối hệ thống Mạch sẽ gồm 6 khối chính: Hình 1.6... 180Mhz, nhiều ngoại vi, tiết kiệm năng lượng Vi điều khiển này sử dụng hai nguồn điện áp là 1,8V và 3,3V cho các modun khác nhau Ngoài ra vi điều khiển này có Nguyễn Thị Thúy An – Dương Tuấn Anh 25 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android thể quản lý một vùng nhớ lên đến 4Gbyte và được chia thành nhiều vùng quản lý ứng với các vùng nhớ.. .Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android Nhóm thiết kế hoàn thành vi c phát triển mẫu gọi là ARM1 vào năm 1985, và vào năm sau, nhóm hoàn thành sản phẩm “thực” gọi là ARM2 ARM2 có tuyến dữ liệu 32bit, không gian địa chỉ 26bit tức cho phép quản lý đến 64 Mbyte địa chỉ và 16 thanh ghi 32bit... thể ghép lõi ARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh, một loại CPU mà có thể tạo ra Nguyễn Thị Thúy An – Dương Tuấn Anh 11 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android trên những nhà máy sản xuất bán dẫn cũ và vẫn tiếp tục tạo ra được sản phẩm với nhiều tính năng mà giá thành vẫn thấp Thế hệ thành công nhất có... -40 oC đến 125oC phù hợp với hệ thống sử dụng AT91SAM9260 tiết kiệm năng lượng Hình 1.11 IC nguồn LM117 Với nguồn ra 1.8V ta sử dụng IC nguông LM1117-1.8 cho nguồn ra cố định 1.8V với dòng 800mA Nguyễn Thị Thúy An – Dương Tuấn Anh 28 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android 1.2.4 Khối bộ nhớ 1.2.4.1 SDRAM RAM (vi t tắt từ Random Access... VDDPLL: cung cấp điện áp cho bộ dao động chính và bộ nhân tần - số với điện áp là 1,8V Chân VDDANA: cung cấp điện áp cho bộ ADC với điện áp 3,3V Nguyễn Thị Thúy An – Dương Tuấn Anh 20 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android Công suất tiêu thụ của AT91SAM9260: - Vi sử lý AT91SAM9260 tiêu thụ dòng 500μA ở chân VDDCORE tại nhiệt độ 25oC . án: Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. 2. Các số liệu và dữ liệu ban đầu: - Vi xử lý ARM AT91SAM9260. - Hệ điều hành. Tuấn Anh 8 Thiết kế, chế tạo phân hệ vi xử lý nhúng truyền dữ liệu vô tuyến với thiết bị cài đặt hệ điều hành Android. Chương 1. NGHIÊN CỨU VÀ THIẾT KẾ PHÂN HỆ MẠCH NHÚNG SỬ DỤNG VI XỬ LÝ AT91SAM9260 1.1. NỘI VI N ĐIỆN TỬ - VI N THÔNG ====o0o==== Đ ÁN TỐT NGHIỆP ĐẠI HỌC ĐỀ TÀI: THIẾT KẾ, CHẾ TẠO PHÂN HỆ VI XỬ LÝ NHÚNG TRUYỀN DỮ LIỆU VÔ TUYẾN VỚI THIẾT BỊ CÀI ĐẶT HỆ ĐIỀU HÀNH ANDROID Giảng vi n