HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
TÊN LUẬN VĂN:“NGHIÊN CỨU-ˆ NG DỤNG CHIP JAVA
TRONG CÁC THIET BỊ (ĐỘ ˆ CẢM TAY”
CHUYFTM NGANH: 1 “ THUẬT VIỄN THONG MA SO: 60.52.02.08
Người hướng dẫn khoa học: TS PANG HOAI BAC
HÀ NỘI - Năm 2014
Trang 2Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa hoc: TS.ĐẶNG HOÀI BAC
Phản biện 1: TS NGUYEN CHIEN TRINH Phan bién 2: PGS.TS LE MY TU
Luận văn sẽ được bao vệ trước Hội đồng chấm lv’ văn thạc sỹ tại Học viện Công
nghệ Bưu chính Viễn thông.
Vào lúc: 15 giờ 00 ngày 15 tháng 2 năm 2014
Có thé tìm hiéu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông.
Trang 3LỜI NÓI ĐẦU
Với sự phát triển bùng nỗ của nền công nghiệp điện tử, rất nhiều thiết bị điện tử đã được ra đời và đi vào nhiều mặt của cuộc sống Các thiết bị điện tử ngày càng phát triển trên nhiều nền tảng khác nhau trong đó có nền tảng chip Java.
Java là tên gọi của một hòn đảo ở Indonexia, Đây là nơi nhóm nghiên cứu phát triển đã chọn dé đặt tên cho ngôn ngữ lập trình Java trong một chuyến đi tham quan va làm việc trên hòn đảo này Hòn đảo Java nay là nơi rất nổi tiếng với nhiều khu vườn trồng cafe, đó chính là lý do chúng ta thường thấy biểu tượng ly café trong nhiều sản pham phần mềm, công cụ lập trình Java của Sun cũng như một số hãng phần mềm khác đưa ra.
Java hỗ trợ lập trình đa nhiệm, đa luồng cho ép nhiều tiến trình, tiểu trình có thể chạy song song cùng một thời điểm và tương tác »hau.
Chương trình ứng dụng viết bằng ngôn ngữ Java >i cần chạy được trên máy ảo Java là có thé chạy được trên bất kỳ máy tinh, hy *“'ều hành nàc 4 máy ảo Java.“Viết một lần, chạy mọi nơi” (Write Once, Run * ywhere).Ch ¬ vì vậy với các kiến thức đã được học, luận văn tốt nghiệp của em tập ang v- nghiên cứu vs ứng dụng chip Java cho các thiết bị di động cầm tay
Nội dung của #` an bao; mnhitng phan sau:
Chương 1: Java và các _¬g 7 ug trong thiết bị di động Chương 2: Kiên trúc platfo cho xử lý thuần java.
Chương 3: Xây dựng các ứng dụng trên platform.
Nhân đây, tôi cũng xin cảm ơn thầy giáo TS Đặng Hoài Bắc đã tận tình hướng dẫn và giúp đỡ tôi trong suốt trong suốt quá trình đề hoàn thành bản luận văn này.
Mặc dù đã rất cố gang, tuy nhiên do còn có nhiều hạn chế nên chắc chắn bản luận văn
van còn có nhiều thiếu sót, tôi rat mong nhận được những ý kiến đóng góp bồ ích dé có thé
hoan thiện thêm nội dung bản luận văn.
Tôi xin chân thành cảm on!
Trang 4CHUONG 1: JAVA VA CÁC UNG DUNG TRONG THIẾT BỊ DI DONG
1.1 Giới thiệu chương
Ngôn ngữ lập trình Java do James Gosling và các công sự của Công ty Sun
Microsystem phát triển.Đầu thập niên 90, Sun Microsystem tập hợp các nhà nghiên cứu
thành lập nên nhóm đặt tên là Green Team.Nhóm Green Team có trách nhiệm xây dựng
công nghệ mới cho ngành điện tử tiêu dùng Dé giải quyết van đề này nhóm nghiên cứu phát triển đã xây dựng một ngôn ngữ lập trình mới đặt tên là Oak tương tự như C++ nhưng loại bỏ một số tính năng nguy hiểm của C++ và có khả năng chạy trên nhiều nền phần cứng khácnhau.
Cùng lúc đó world wide web bắt đầu phát tri® và Sun đã thấy được tiềm năng của ngôn ngữ Oak nên đã đầu tư cải tiến và phát ta ¬u đó không lâu ngôn ngữ mới với
tên gọi là Java ra đời và được giới thiệu nam 1995,
1⁄2 Ngôn ngữ java trong các thiết b'` 4 độn;,
Java là một ngôn ngữ lar i hô biên và +ng đôi mới Các chức năng chính
của Java khiến giúp nó trở thành một ng ngữ thành công là:
- Đơn giản và hướng „1 tượn
- Tính độc lập nền ta.
- Tính khả dùng.
- Hỗ trợ multi-threading.
- Tính an toản
1.3 Vai trò của Platform java trong các thiết bị cầm tay
Từ khi ra đời, phương thức thiết kế các hệ thống nhúng dựa trên các platform sẵn có đã trở thành một xu hướng chính chiếm ưu thế bởi các ưu điểm vượt trội
- _ Giảm thiểu thời gian phát triển sản phẩm - _ Tăng tính cạnh tranh của sân pham
- _ Giảm thiểu chi phí
Trang 5- _ Nhiều lựa chọn cho phát triển sản pham
- _ Thiết kế dựa trên các giao diện chuẩn nên tăng tinh trừu tượng trong thiết kế
hiệu năng của bộ vi xử lý Java có thể gấp hơn 20 lần so với bộ vi xử lý ARM có hỗ trợ tăng tốc Java.
Việc sử dung platform dựa trên bộ vi xử ly Java Processor 32bit trong phát triển các thiết bị di động cầm tay giúp giảm chi phí thấp nhờ tận dụng các hệ điều hành trên nền Java, các công cụ phát triển phần mềm miễn phí của Sun hay Oracle
1.4 _ Chip aJ-200 trong các thiết bi di dong
Chip aJ-200 (Java Multimedia NetWorking P cessor) được xây dựng trên nền tảng Java SOCs, dé tạo điều kiện thuận lợi cho +t triển sản phẩm nhanh chóng aJile cung cấp cho aJ-200 các mô-đun hoàn chỉnh é nhúng va vào các thiết bị nhỏ
Chip aJ-200 rất thích hop dé sản xu cdc thiết bic +g thông minh, các thiết bị không dây, điều khiển công nghi@ cảm biến âng dây từ xa va các thiết bị truyền
thông ô tô qua Internet
Chip aj-200 có các“ ¬ăng:
- - Lõi 32-bitthực" oaxtrlyt › tiếp Java.
- — Bộ nhớ tích hợp.
- Giao diện bus ngoai(Eb
- Thiết bị ngoại vi điều khiến ngắt - 3 bộ đếm 24 bit.
- 6 kênh điều chế độ tộng xung (PWMs) - Bộ đếm thời gian cảnh báo.
Trang 6- Giao diện I2C.
- Giao diện thẻ nhớ SD / SDIO /MMC
- Giao diện thẻ nhớ CF.
- _ Điều khiển LCD.
- _ Cổng chụp hình ảnh.
- Giải mã phương tiện truyền thông - Điều khiển USB OTG V 2.0
- Điều khiển T-base ethernet.
- Giao diện IEEE 1.149,1 (JTAG).- Clock and PLL’s
- _ Được thiết kế cho hoạt động công suất thấp.
Kết luận:Chương 1 giới thiệu cơ bản về ngu sốc, các giz *oạn phát triển của ngôn ngữ java Thông qua việc tìm hiểu một số ur , dụng c‹ :ava chúng ta hiểu được tầm quan trọng và vai trò của chúng Chương 1 cir, “i thiêu về ch +j-200 trong các thiết bị di động, từ đó tạo nền tảng cho việc tìm hiểu cấu trac tform cho xử lý thuần JAVA ở phần tiếp theo.
Trang 7CHƯƠNG 2: KIÊN TRÚC PLATFORM CHO XU LY THUAN JAVA
2.1Giới thiệu chương
Java là một nên tảng phát triên các ứng dụng phân mêm có tâm quan trọng rât lớn
trong những năm cuối thé ki 20, đầu thé ki 21 Đánh dấu sự trưởng thành của mô hình lập trình hướng đối tượng, nó được coi 14 một nền tảng mang tính cách mang trong ngành phần mềm.Mô hình máy ảo VirtualMachine đã cho phép các ứng dụng viết bằng Java có thê chạy trên nhiều hệ điều hành khác nhau
2.2 Xây dựng Platform xử lý thuần Java 2.2.1 Nền tảng phần cứng
Day là một hệ thống máy tính hoàn chỉnh - bộ vi xử lý chính là bộ vi xử ly Java
32-bit của hãng a]1le.
Cụ thê gồm các thành phan:
Khối bộ vi xử lý chính (Main ocessor): S dụng 1 bộ vi xử lý Java Processor 32 bits với khả năng xử lý da’ ang ¬ng lĩnh vực yên thông số tiên tiến hỗ trợ máy
ao Java (JVM - Java Vitural Machine
Bộ nhớ chính (Mz Mem) "hứa bộ nhớ wAND FLASH va SDRAM dành cho chứa
mã chương trình di lié diều khiển hoạt động của Java processor.
Port giao tiếp tới moa + GSM/3G/4G: Với việc sử dung giao diện USB OTG v2.0 — giao điện được sử dụng t.g kết nỗi tới các module GSM/3G/4G hiện nay — cho phép nền tảng tính cơ động cao trong việc chọn lựa sử dụng các module GSM/3G/4G
phù hợp
Bộ vi xử lý Java: Đây là khối xử lý trung tâm quan trọng nhất của hệ thống Bộ xử lý Java được sử dụng là của hãng alile có trụ sở tại Mỹ Tổng quát bộ xử lý bao gồm 1 khối xử lý trung tâm CPU (Java Core) kết hợp với 32KB D&I cache; khối giao diện AHB, giao diện bus APB kết nối với các ngoại vi bên ngoài như USB, Ethernet, Card interface, ; và khối giao diện JTAG hỗ trợ gỡ rối
Trang 8- Nhân hệ điều har’ aJile h +l-Time OS ernel được phát triển bởi aJile cho riêng kiến trúc các may >ctme en trong bộ vi xử lý.
- Java software drivers _4y là phan sẽ thực hiện các ban port các driver của các ngoại
Bộ xử lý Java của aJile là thế hệ thứ ba của aJile về nguồn mức thấp, bộ xử lý thực thi trực tiếp cho platform Java, “bộ xử lý Java” Nó được nâng lên với MAC dấu phẩy
tinh 32 bit, 32 KB RAM, giao diện AHB va APB
Hệ thống trên Chip aJ-200 được dựa trên co sở hai bus nội AHB va APB đối ngẫu AHB được dành cho những thiết bị yêu cầu băng thông bộ nhớ cao bao gồm Bộ xử lý
Trang 9Java, bộ điều khiển DMA, bộ điều khiển Ethenet, khối AES, bộ điều khiển LCD, USB OTG, Mediacodec, các công lưu giữ video APB cung cấp lối truy nhập cho những thiết
bị I/O khác mà yêu cầu băng thông bộ nhớ thấp như bộ điều khiển ngắt, UARTs, SSP, I2C, SDC, CF, GPIO, Timer/Counters, RTC và PWMs
AJ-200 có ba mức điện áp hoạt động 1,8V, 2,5V và 3,3V.L6i AJ-200 hoạt động ởmức điện áp 1,8V.IL/O hoạt động ở điện áp 1,8V, 2,5V hoặc 3,3V.
2.3.2 Multiple JVM Manager
Tính năng nhiều máy ảo của aJ-200 cho phép chạy hai ứng dụng Java độc lập trong một khoảng thời gian Trong khi thực hiện, mỗi môi trường JVM có thể đảm bảo
không gian bộ nhớ thực hiện không bị sự can thiệp < -a các ứng dung bị lỗi hoặc độc hại.
MỊM cung cấp thời gian chạy và các ngắt để an 40 không có JVM nào có thể vào JVM đang chạy.Timer riêng biệt được cun* cap cho me ‘VM để duy tri trạng thái hàng đợi sleep riêng biệt và lịch trình các luà edn tỳ
read Manager Thread Manager
Linear Addressing Timer Timer
Trang 102.4 Các mô-đun giao tiếp dựa trên Bus AHB - _ Bộ điều khuyên DMA
- BO điều khiến Erthernet 10/100 đơn chip - _ Bộ điều khiển USB 2.0 OTG (USB OTG) - Bo điều khiển LCD
- Thu nhận Video- MediaCodec
- Giao diện Bus ngoại (EBI) (External Bus Inter” Je)
2.5 Các mô-đun dựa trên Bus APB
- _ Bộ điều khiển ngắt ngoại vi (PINTO)
- Timers/ Counters
- Watch Dog Timer (WDT)
- Bo điều khiển thời 4n thụ ‘RTC) - Cac công GPIO
- - Điều chế độ rộng xung `WM§)
- [2C
- Bộ điều khiến công nối tiếp đồng bộ (SSPC) - Bộ điều khiến Flash Compact (CFC)
- Multimedia Card và Secure Digital Host Controller
- UART’s
- IrDA/UART4
Trang 11Kết luận:Chương 2 giới thiệu kiến trúc Platform cho xử lý thuần java và các thiết bị di động cầm tay Bao gồm kiến trúc platform cho chip xử lý thuần java và từ đó phát triển xây dựng Platform cho các thiết bị di động cầm tay Chương 2 là tiền đề chuẩn bị cho chúng ta những kiến thức tốt nhất đề có thê xây dựng các ứng dụng ví dụ đơn giản như sẽ nói ở chương sau.
Trang 12CHƯƠNG 3: XÂY DỰNG CÁC ỨNG DỤNG TRÊN PLATFORM 3.1 Giới thiêu chương
Vai trò và tầm quan trong của các ứng dụng chip java trong các thiết bj như chung ta đã biết là hết sức quan trọng Một trong những ứng dụng khá thực tiễn trong đời sống của chúng ta đó là hệ thống giám sát video thông minh
Hệ thong giám sát video thông minh là một thiết bị an ninh mạng nhỏ gọn, có tính di động cao, được sử dụng để phát hiện xâm nhập, ghi lại hình ảnh, và gửi cảnh báo đến smart phone Thiết bị được xây dựng dé phát hiện sự xâm nhập.Thiết bị cũng tích hop tính năng chụp hình ảnh hoặc quay video, giám sát trực tiếp, và có thê kết nối mạng LAN và WLAN và 3G.Chi cần một số thiết lập đơn giản -iết bị sẽ tương thích với vị trí mới
của smart phone một cách nhanh chóng và dễ d* ¿
3.2 Xây dựng thiết bị giám sát sử dụng c’ > xử lý thua ‘ava 3.2.1 Xây dựng phần cứng thiết bị
GIAO TIẾP USB
Hình 3.1 So đồ khối các module
Trang 133.2.1.1 Module nguồn cung cấp
Hệ thống Video giám sát có ba mức điện áp hoạt động 1,8V, 2,5V và 3,3V Lõi vi
xử lý hoạt động ở mức điện áp 1,8V I/O hoạt động ở điện áp 1,8V, 2,5V hoặc 3,3V.3.2.1.2Module Enthernet - USB
Bộ Video giám sát sẽ sử dụng bộ điều khiến Erthernet 10/100 don chip được tích hợp với PHY Ethenet 10/100 dé thực hiện kết nối truyền thông Nó bao cơ cau DMA, bộ
nhớ on-chip (TX FIFO và RX FIFO), MAC, va PHY Ethernet T-base 10/100 được tích
Đối với bộ điều khién USB nam trong Hệ thống Video giám sat bao gồm bộ điều
khiển USB 2.0 OTG đơn chip được nhúng với PHY U!“ 3 OTG Nó có thê đóng 2 vai trò,
là một host hoặc thiết bị ngoại vi
3.2.1.3Module Camera
Module này cung cấp chức năng ‘ait xen kẽ dé gic sự giả tạo về video cho sự
dan xen video Sự giảm nhiêu có tt oai bỏ được ¬têu không mong muôn và bảo toan
những chỉ tiết và đường biên tế
3.2.1.4Module Mod’ _ ˆOM
Chip xử lý tre + tâm ctv hối này là chip aJile, về bản chất thì đây là một modul
3G Các tín hiệu dạng su» tt HSDPA, EDGE, GPRS, SMS sẽ được chip aJile xử lý
3.2.1.5Module khối xử \, ung tâm thuần java
Bộ xử lí Java này của alile là dòng thế hệ thứ 3 sử dung năng lượng thấp, thực
hiện trực tiếp các xử lí trên nền tảng JME Java, “Java processor” Nó được ứng dụng để thiết kế các dòng thiết bị nhúng đa phương tiện, và các ứng dụng internet di động
3.2.2 Xây dựng phần mềm thiết bị
Ứng dụng cho vi xử lý trong hệ thống này được viết bằng ngôn ngữ Java Sau khi buid và debug các lỗi, ứng dụng được nạp cứng trong vi xử lý aJ trong phần cứng đã nêu
ở phần trên.
Có 2 công việc mà thiết bị cần xử lý, bộ vi xử lý trung tâm sẽ xử lý hai công việc này tuần tự, công việc thứ nhất sẽ phát hiện và quay lại video, công việc thứ hai là xử lý
và truyền video vừa quay được đên client
Trang 143.3 Thiết kế phần mềm ứng dụng trên client
Sau khi đã lên mô hình hệ thống phần cứng của hệ thống giám sát Video, trong phan nay chúng ta sẽ thiết kế phần mềm dé kết nối giữa mô hình hệ thống giám sát Video thông minh và các thiết bị smartphone dé có thé truyền các hình ảnh video tức thời tai khu vực cần giám sát đến các thiết bị Client (Smartphone) khi có sự kiện hoặc khi có nhu
cầu giám sát
3.4 Server lưu trữ và quản lý hệ thống
Đối với bất kỳ hệ thống giám sát cảnh báo nào, tính năng lưu trữ và thống kê cũng rất cần thiết Tất cả các đữ liệu của hệ thống bao gồm các file hình ảnh, video cũng như các logfile, sẽ được cập nhật và lưu Trong các + ơng hợp cần truy van, chúng ta có thé dé dang sử dụng lại được những dit liệu vần 1c ua server lưu trữ nay.
3.5 Xây dựng hệ thống giám sát video th’ s minh
Trang 15- Thiệt bi client có chức năng yêu câu giám sát và nhận cảnh báo
- _ Bộ vi xử lý Java trong hệ thống giám sát video thông minh có chức năng xử lý các sự kiện thu được từ các cảm biến âm thanh và tiếng động Sau đó gửi các sự kiện lên một máy chủ dé quản lý và thống kê
- Hệ thống nhận thực người sử dụng bang ứng dụng được cai đặt trên Client
- Dé đảm bảo tinh bảo mật, tat cả tai nguyên, nhật ký sử dụng của hệ thống sẽ được lưu trữ và thống kê trên Server
3.5.2 Hoạt động của hệ thống
- Pau tiên, bộ xử lý java phải được kết nối với Ac ›ss point bằng cáp Do được kích hoạt sẵn dịch vụ UPnP nên smart phone và th’ bị sẽ gửi các ban tin va thiết lập cho
- Ngay sau khi kết nối với mạng, thiết bi tri một gói + Dicovery, trong gói tin bao gồm trường địa chỉ của thiết b a được gu “eo dạng broadcast Sau khi tìm được Gateway, sẽ có thông báo .en - phần mềm ản lý trên Client, bước tiếp theo, Gateway được ca Client và thiết bị cu xác định
Khi phát hiện < ợc sự ty đối về âm thanh và hình anh trong môi trường giám sát, thiết bị giám sát sửi uc cảnh báo tới người sử dụng thông qua ứng dụng trên client, chỉ tiết hoạt động cv hệ thống được mô tả như sau:
Trang 16Hình 3.13: F „t động của, ‘hong khi có cảnh báo
Thiết bị giám sát dv xœ Ai tới Googi ‘pp (XMPP): Đầu tiên, thiết bị sẽ được kết
nôi với Server rn’ 9 thực
Client (Smart Phone, ợc kết nối tới Google App (XMPP) và đăng ký với thiết bị.
Người sử dụng đăng nha; _ -ân phần mềm thiết bị chính là tài khoản dùng trong mạng
Khi thiết bị phát hiện có sự xâm nhập, nó sẽ gửi các gói tin tới Media Gateway và các thông báo sẽ được đây đến smart phone Khi có cảnh bao, client sẽ các gói tin ping và đợi gói tin echo từ server, tiếp theo chúng sẽ gửi lên Server, do server sử dụng giao thức XmPP nên nó có thé đây các luồng video (video thời gian thực) hoặc hình ảnh
tới gateway, và từ đó được gửi tới smartphone.
Media Gateway sẽ gửi thông báo tới smart phone Nếu thiết lập thông báo được bật, một cảnh báo bao gồm hình ảnh hoặc video sẽ được gửi tới người sử dụng về các mối đe dọa an ninh Mặt khác, luồng dữ liệu này cũng được up lên Server lưu trữ của hệ