Tải bản đầy đủ (.docx) (131 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.06 MB, 131 trang )

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
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. Một trong những thanh ghi này đóng vai trò là bộ đếm
chương trình với 6 bit cao nhất và 2 bit thấp nhất lưu giữ các cờ trạng thái của bộ vi
xử lý.
Có thể nói ARM2 là bộ vi xử lý 32bit khả dụng đơn giản nhất trên thế giới,
với chỉ gồm 30.000 transistor (so với bộ vi xử lý lâu hơn bốn năm của Motorola là
68000 với khoảng 68.000 transistor). Sự đơn giản như vậy có được nhờ ARM
không có vi chương trình (mà chiếm khoảng 1/4 đến 1/3 trong 68000) và cũng
giống như hầu hết các CPU vào thời đó, không hề chứa cache. Sự đơn giản này đưa
đến đặc điểm tiêu thụ công suất thấp của ARM. Thế hệ sau ARM3 được tạo ra với
4KB cache và có chức năng được cải thiện tốt hơn nữa.
Vào những năm cuối thập niên 80, hãng máy tính Apple Computer bắt đầu
hợp tác với Acorn để phát triển các thế hệ lõi ARM mới. Công việc này trở nên
quan trọng đến nỗi Acorn nâng nhóm thiết kế trở thành một công ty mới gọi là
Advanced RISC Machines. Vì lý do đó bạn thường được giải thích ARM là chữ viết
tắt của Advanced RISC Machines thay vì Acorn RISC Machine. Advanced RISC
Machines trở thành công ty ARM Limited khi công ty này được đưa ra sàn chứng
khoán London và NASDAQ năm 1998.
Kết quả sự hợp tác này là ARM6. Mẫu đầu tiên được công bố vào năm 1991
và Apple đã sử dụng bộ vi xử lý ARM 610 dựa trên ARM6 làm cơ sở cho PDA hiệu
Apple Newton. Vào năm 1994, Acorn dùng ARM 610 làm CPU trong các máy vi
tính RiscPC của họ.
Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước.
ARM2 có 30.000 transistors trong khi ARM6 chỉ tăng lên đến 35.000. Ý tưởng của

nhà sản xuất lõi ARM là sao cho người sử dụng có 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ó lẽ là ARM7 TDMI với hàng trăm triệu lõi được
sử dụng trong các máy điện thoại di động, hệ thống video game cầm tay, và Sega
Dreamcast. Trong khi công ty ARM chỉ tập trung vào việc bán lõi IP, cũng có một
số giấy phép tạo ra bộ vi xử lý dựa trên lõi này.
Dreamcast đưa ra bộ vi xử lý SH4 mà chỉ mượn một số ý tưởng từ ARM
(tiêu tán công suất thấp, tập lệnh gọn …) nhưng phần còn lại thì khác với ARM.
Dreamcast cũng tạo ra một chip xử lý âm thanh được thiết kế bởi Yamaha với lõi
ARM7. Bên cạnh đó, Gameboy Advance của Nintendo, dùng ARM7 TDMI ở tần
số 16,78 MHz.
Hãng DEC cũng bán giấy phép về lõi cấu trúc ARM (đôi khi chúng ta có thể
bị nhầm lẫn vì họ cũng sản xuất ra DEC Alpha) và sản xuất ra thế hệ Strong ARM.
Hoạt động ở tần số233 MHz mà CPU này chỉ tiêu tốn khoảng 1 watt công suất
(những đời sau còn tiêu tốn ít công suất hơn nữa). Sau những kiện tụng, Intel cũng
được chấp nhận sản xuất ARM và Intel đã nắm lấy cơ hội này để bổ sung vào thế hệ
già cỗi i960 của họ bằng Strong ARM. Từ đó, Intel đã phát triển cho chính họ một
sản phẩm chức năng cao gọi tên là Xscale.
Bảng 1.1 Các họ vi xử lý ARM phổ biến
Họ Lõi
Tốc độ xử lý tối đa
(Mhz)
Kiến trúc
ARM7TDM
I

ARM7TDMIS 16.8 MHz
V4T
ARM710T 40 MHz
ARM720T 59.8 MHz
ARM740T
ARM7EJS
ARM9TDM
I
ARM9TDMI
V4T
ARM920T 180 MHz
ARM922T
ARM940T
ARM9E ARM946ES V5TE
Nguyễn Thị Thúy An – Dương Tuấn Anh 12
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.

V5TEJ
ARM966ES
ARM968ES
ARM926EJS 180 MHz
ARM996HS
ARM10E
ARM1020E
V5TE

V5TEJ
ARM1022E
ARM1026EJS

ARM11
ARM1136J(F)S V6
ARM1156T2(F)S V6T2
ARM1176JZ(F)S V6Z
ARM11 MPCore V6
Cortex
CortexA8 1 GHz V7A
CortexR4 600 MHz V7M
CortexM3 600 MHz V7R
XScale
80200/IOP310/IOP31
5
80219
IOP321
IOP33x
PXA210/PXA250
PXA255 400 MHz
PXA26x
PXA27x 624 MHz
PXA800(E)F
Monahans 1.25 GHz
PXA900
IXC1100
IXP2400/IXP2800
IXP2850
IXP2325/IXP2350
IXP42x
IXP460/IXP465
Để đạt được một thiết kế gọn, đơn giản và nhanh, các nhà thiết kế ARM xây
dựng nó theo kiểu nối cứng không có vi chương trình, giống với bộvi xử lý 8bit

6502 đã từng được dùng trong các máy vi tính trước đó của hãng Acorn.
Cấu trúc ARM bao gồm các đặc tính của RISC như sau:
• Cấu trúc nạp/lưu trữ
Nguyễn Thị Thúy An – Dương Tuấn Anh 13
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.
• Không cho phép truy xuất bộ nhớ không thẳng hàng (bây giờ đã cho phép
trong lõi ARM v6).
• Tập lệnh trực giao.
• File thanh ghi lớn gồm 16x32bit.
• Chiều dài mã máy cố định là 32 bit để dễ giải mã và thực hiện pipeline,
để đạt được điều này phải chấp nhận giảm mật độ mã máy.
• Hầu hết các lệnh đều thực hiện trong vòng một chu kỳ đơn.
So với các bộ vi xử lý cùng thời như Intel 80286 và Motorola 68020, trong
ARM có một số tính chất khá độc đáo như sau:
• Hầu hết tất cả các lệnh đều cho phép thực thi có điều kiện, điều này làm
giảm việc phải viết các tiêu đề rẽ nhánh cũng như bù cho việc không có
một bộ dự đoán rẽ nhánh.
• Trong các lệnh số học, để chỉ ra điều kiện thực hiện, người lập trình chỉ
cần sửa mã điều kiện
• Có một thanh ghi dịch đóng thùng 32bit mà có thể sử dụng với chức năng
hoàn hảo với hầu hết các lệnh số học và việc tính toán địa chỉ.
• Có các kiểu định địa chỉ theo chỉ số rất mạnh.
• Có hệ thống con thực hiện ngắt hai mức ưu tiên đơn giản nhưng rất
nhanh, kèm theo cho phép chuyển từng nhóm thanh ghi.
1.1.2 Vi xử lý AT91SAM9260
Tổng quan về vi xử lý AT91SAM9260:
AT91SAM9260 có lõi là bộ vi xử lý ARM926EJ-S thuộc họ ARM9E hỗ trợ
tập lệnh Thumb (tập lệnh nén từ 32bit xuống 16 bit) và ARM và có thể hoạt động
với tốc độ 180Mhz.

Nguyễn Thị Thúy An – Dương Tuấn Anh 14
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.1AT91SAM9260
Các thông số cơ bản của vi xử lý AT91SAM9260:
- Bộ nhớ:
• Giao diện bus 32bit hỗ trợ 4 bank SDRAM, bộ nhớ tĩnh, CompactFlash,
NandFlash.
• Có 2 SRAM được tích hợp bên trong chíp hoạt động ở tốc độ cao. Mỗi
SRAM có dung lượng 4 Kbyte.
• Có 1 ROM bên trong chíp có dung lượng 32 Bbyte chứa chương trình hệ
thống phục vụ cho việc khởi động hệ thống nhúng do nhà sản xuất nạp
sẵn.
- Ngoại vi:
• Bên trong tích hợp 4 kênh ADC 10 bit.
• Có 2 bộ truyền dữ liệu không đồng bộ UART (Universal Asynchronous
Receive/Transmitter).
• Có 4 bộ truyền dữ liệu không đồng bộ/đồng bộ USART (Universal
Synchronous Asynchronous Receive/Transmitter).
• Một giao diện truyền nhận dữ liệu theo chuẩn I2C (chuẩn hai dây).
• Một bộ điều khiển nối tiếp đồng bộ.
• Hai giao tiếp SPI hỗ trợ hai chế độ Master/Slaver.
• Một giao diện SD/MMC (dùng để đọc thẻ nhớ).
• Một bộ điều khiển 10/100 Mbps Ethernet MAC.
• Một bộ điều khiển truyền nhận USB và một bộ truyền nhận USB Device.
• Ba bộ Timer/Counter.
• Giao tiếp cảm biến hình ảnh chuẩn ITU-R BT. 601/656.
- Hệ thống:
• Có 22 kênh DMA (Direction Memory Access).
• Khởi động từ NAND Flash, SDCard, DataFlash hoặc Serial DataFlash.

• Có bộ điều khiển Reset.
• Ma trận bus AHB 6 lớp 32 bit hoạt động ở tần số 90Mhz.
• Một PLL (bộ nhân tần số) cho hệ thống và một cho USB.
• Hai tín hiệu xung đồng bộ ngoài có thể lập trình được.
• Có bộ điều khiển ngắt cao cấp và sửa lỗi.
• Tích hợp bộ dao động nội RC.
• Cho phép chọn tần số tiết kiệm năng lượng 32,768 Khz và bộ dao động
chính 3 đến 20 Mhz.
• Cho phép cài đặt chế độ timer, watchdog timer, realtime timer.
- Ngõ vào ra:
• Ba cổng Input/Output song song 32 bit.
• 96 đường 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ó dạng hình vuông và có 2 dạng đóng gói chân: một
dạng 208 chân (kiểu PQFP) và một dạng 217 chân (kiểu LFBGA).
- Dạng 217 chân: các chân được đóng gói đặt ngầm phía dưới lớp nhựa bọc
lõi. Kích thước đóng gói linh kiện là 15mm x 15mm, có ưu điểm nhỏ
gọn, tiết kiệm không gian PCB đáng kể, số lượng pin và mật độ pin cao,
độ bền cơ học cao. Tuy nhiên, việc thiết kế PCB đòi hỏi kỹ thuật cao,
PCB nhiều lớp, cần phải tuân thủ theo quy trình nhất định trong quá trình
hàn IC, các chân dưới bụng nên rất khó tìm lỗi phần cứng và do điều kiện
kĩ thuật tại Việt Nam chưa cho phép về thiết kế và thi công mạch cứng
nên nhóm quết định thực hiện mạch với kiểu đóng gói 208 chân. Hình

dạng AT91SAM9260 được đóng gói kiểu 217 (kiểu LFBGA) chân được
minh họa như sau:
Hình 1.3 Sơ đồ chân vi xử lý AT91SAM9260 dạng 217 chân [14].
- Dạng 208 chân: các chân được đóng gói đưa ra xung quanh của của lớp
nhựa bọc lõi và được đặt tên theo số từ 1 đến 208. Kích thước đóng gói
kiểu này là 31.2mm x 31.2mm ( to gấp khoảng 4 lần kiểu đóng gói 217
chân LFBGA).Ưu điểm dễ thiết kết mạch, PCB 2 lớp là đủ, chân đưa ra
ngoài dễ dàng sửa lỗi phần cứng, quy trình tạo PCB đơn giản. Tuy nhiên
Nguyễn Thị Thúy An – Dương Tuấn Anh 17
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.
kiểu chân này khiến kích thước IC to, nặng, cồng kềnh, các pin dễ bị
cong vênh. Do chân rết yếu, vì thế các thao tác hàn theo kiểu thủ công
phải hết sức cẩn trọng. Nếu áp quá lực lên pin thì sẽ ra hiện tượng pin bị
lệch qua một bên, rất khó điều chỉnh lại vị trí ban đầu. Trong quá trình
chip hoạt động, nhiệt độ tăng cao, các chân rết dãn nở vì nhiệt. Các mối
hàn thủ công dễ bị bong, kết nối giữa pin và SMD pad bị mất, gây ra tình
trạng lỗi khi chạy chương trình ứng dụng. Hình dạng kiểu đóng gói được
minh họa như sau:
Hình 1.4 Sơ đồ chân vi xử lý AT91SAM9260 dạng 208 chân [14].
Bảng 1.2 Sơ đồ chân vi xử lý AT91SAM9260 dạng 208 chân.
Châ
n
Tên
Châ
n
Tên
Châ
n
Tên

Châ
n
Tên
1 PA24 53 GND 105 RAS 157 ADVREF
2 PA25 54 DDM 106 D0 158 PC0
3 PA26 55 DDP 107 D1 159 PC1
4 PA27 56 PC13 108 D2 160 VDDANA
5 VDDIOP0 57 PC11 109 D3 161 PB10
6 GND 58 PC10 110 D4 162 PB11
7 PA28 59 PC14 111 D5 163 PB20
8 PA29 60 PC9 112 D6 164 PB21
9 PB0 61 PC8 113 GND 165 PB22
10 PB1 62 PC4 114 VDDIOM 166 PB23
Nguyễn Thị Thúy An – Dương Tuấn Anh 18
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.
11 PB2 63 PC6 115 SDCK 167 PB24
12 PB3 64 PC7 116 SDWE 168 PB25
13 VDDIOP0 65 VDDIOM 117 SDCKE 169 VDDIOP1
14 GND 66 GND 118 D7 170 GND
15 PB4 67 PC5 119 D8 171 PB26
16 PB5 68 NCS0 120 D9 172 PB27
17 PB6 69
CFOE/NR
D
121 D10 173 GND
18 PB7 70
CFWE/
NWE/
NWR0

122 D11 174
VDDCOR
E
19 PB8 71 NANDOE 123 D12 175 PB28
20 PB9 72 NANDWE 124 D13 176 PB29
21 PB14 73 A22 125 D14 177 PB30
22 PB15 74 A21 126 D15 178 PB31
23 PB16 75 A20 127 PC15 179 PA0
24 VDDIOP0 76 A19 128 PC16 180 PA1
25 GND 77 VDDCORE 129 PC17 181 PA2
26 PB17 78 GND 130 PC18 182 PA3
27 PB18 79 A18 131 PC19 183 PA3
28 PB19 80 BA1/A17 132 VDDIOM 184 PA3
29 TDO 81 BA0/A16 133 GND 185 PA3
30 TDI 82 A15 134 PC20 186 PA7
31 TMS 83 A14 135 PC21 187 VDDIOP0
32 VDDIOP0 84 A13 136 PC22 188 GND
33 GND 85 A12 137 PC23 189 PA8
34 TCK 86 A11 138 PC24 190 PA9
35 NTRST 87 A10 139 PC25 191 PA10
36 NRST 88 A9 140 PC26 192 PA11
37 RTCK 89 A8 141 PC27 193 PA12
38
VDDCOR
E
90 VDDIOM 142 PC28 194 PA13
39 GND 91 GND 143 PC29 195 PA14
40 BMS 92 A7 144 PC30 196 PA15
41 OSCSEL 93 A6 145 PC31 197 PA16
42 TST 94 A5 146 GND 198 PA17

43 JTAGSEL 95 A4 147
VDDCOR
E
199 VDDIOP0
44 GNDBU 96 A3 148 VDDPLL 200 GND
45 XOUT32 97 A2 149 XIN 201 PA18
46 XIN32 98
NWR2/
NBS2/A1
150 XOUT 202 PA19
47 VDDBU 99 NBS0/A0 151 GNDPLL 203
VDDCOR
E
Nguyễn Thị Thúy An – Dương Tuấn Anh 19
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.
48 WKUP 100 SDA10 152 NC 204 GND
49 SHDN 101
CFIOW/
NBS3/
NWR3
153 GNDPLL 205 PA20
50 HDMA 102
CFIOR/
NBS1/
NWR1
154 PLLRCA 206 PA21
51 HDPA 103
SDCS/
NCS1

155 VDDPLL 207 PA22
52 VDDIOP0 104 CAS 156 GNDANA 208 PA23
Nguồn cấp cho AT91SAM9260:
Đặc tính tiết kiệm năng lượng là một trong những thế mạnh của họ vi xử lý
ARM. Để tiết kiệm được năng lượng, bên cạnh một kiến trúc lõi tiết kiệm năng
lượng thì vi điều khiển còn được thiết kế có nhiều nguồn cấp với các mức điện áp
khác nhau.
AT91SAM9260 cần có hai nguồn cấp với các mức điện áp 1,8V và 3,3V.
Hai nguồn cấp này được cung cấp tới các chân nguồn của chíp để có thể cấp nguồn
cho từng modun tích hợp trong chip. Cụ thể như sau:
- Chân VDDCORE: chân này cấp nguồn để nuôi lõi vi xử lý với điện áp là
1,8V.
- Chân VDDIOM: cung cấp nguồn cho bộ giao tiếp Input/Output mở rộng.
Điện áp cấp đến chân này là 1,8V hoặc 3,3V được chọn bởi phần mềm.
- Chân VDDIOP0: cung cấp cho bộ giao tiếp Input/Output ngoại vi (USB,
Micro SD) với điện áp 3,3V.
- Chân VDDBU: cung cấp điện áp cho bộ dao động chậm (dao động nội
RC và thạch anh 32,768 Khz) với điện áp 1,8V.
- Chân 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 độ 25
o
C và có thể tăng lên đến 5mA nếu nhiệt độ tăng lên 85
o

C ở
trạng thái không tải.
- Trên VDDBU, 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, 25
o
C, 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 AT91SAM9260 [14].
Nguyễn Thị Thúy An – Dương 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 đượng dùng trong hệt
hống, nhưngAT91SAM9260 vẫn để dành vùng nhớ đó cho thiết bị nhớ hoặc vùng
nhớ của nó.
Bản đồ vùng nhớ của AT91SAM9260 được chia ra thành nhiều bank để quản
lý. Bank trên cùng là bank 0, tiếp theo là bank 1, cho đến cuối cùng là bank 15. Các
địa chỉ nằm ở bên trái các cột chính là các địa chỉ vật lý. Bên phải các cột là dung
lượn của vùng nhớ tương ứng.
Chúng ta có thể thấy rằng mỗi thiết bị nhớ hoặc vùng nhớ đều được vi xử lý
quản lý trong một khoảng địa chỉ nhất định. Nếu thiết bị nhớ được quản lý bởi bank
1 thì ô nhớ đầu tiên của thiết bị nhớ đó (có địa chỉ là 0x0000000) sẽ được vi xử lý
đọc với địa chỉ là 0x10000000 , ô nhớ thứ hai (có địa chỉ 0x00000001) sẽ được đọc

với địa chỉ là 0x10000001. Tương tự thì ô nhớ cuối cùng của thiết bị nhớ đó (có địa
chỉ 0x0FFFFFFF) được vi xử lý đọc với địa chỉ là 0x1FFFFFFF. Như vậy, chúng ta
có thể thấy địa chỉ thực tế của ô nhớ được vi xử lý đọc với một địa chỉ hoàn toàn
khác. Để thuận tiện cho việc tìm hiểu sau này và tránh nhầm lẫn về địa chỉ chúng ta
sẽ tìm hiểu về các loại địa chỉ:
• Địa chỉ vật lý: là địa chỉ mà vi xử lý gán cho vùng nhớ cần được quản lý.
Theo hình trên thì địa chỉ vật lý chính là các địa chỉ nằm ở bên trái các
cột.
• Địa chỉ đoạn: là địa chỉ vật lý tại ô nhớ đầu tiên của vùng nhớ. Theo hình
trên thì địa chỉ đoạn của bank 1 là 0x10000000.
• Địa chỉ offset: là khoảng cách tính từ ô nhớ đang xét đến địa chỉ đoạn.
Như vậy địa chỉ offset có thể hiểu là địa chỉ 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 đến 0x00108000 với dung lượng là 32Kbyte. Tương tụ
vùng nhớ SRAM0 cũng được quản lý từ 0x00200000 đến 0x00201000 …, các vùng
nhớ reserved là các vùng nhớ dự trữ.
Từ Bank 1 đến bank 8 dùng để quản lý các thiết bị nhớ bên ngoài. Cụ thể,
bank 2 quản lý SDRAMC với chân chọn chip là NCS1. Bank 4 quản lý NandFlash
với chân chip là NCS3/NANDCS. Khi vi xử lý truy cập các thiết bị nhớ này thì vi
xử lý sẽ đưa tín hiệu chọn vùng nhớ ra các chân 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 Sơ đồ khối mạch
Khối AT91SAM9260 đóng vai trò trung tâm có nhiệm vụ là bộ não của
mạch điều khiển các khối khác như Memory (bao gồm SDRAM, NAND, SDCard),
Ethernet, các Communication (bao gồm USB Host, USB Device, COM) và các kết
nối mở rộng Connector. Toàn bộ hệ thống sẽ được cấp nguồn bởi khối nguồn có điệ
áp hoạt động 5V.
1.2.2 Khối xử lý trung tâm AT91SAM920
Khối xử lý trung tâm chính là vi xử lý AT91SAM9260 do hãng Atmel sản
xuất. Như đã biết ở trên, AT91SAM9260 là một vi xử lý có tốc độ hoạt động cao
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

×