Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 135 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
135
Dung lượng
859,08 KB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA - NGUYỄN TRÍ NĂNG NGHIÊN CỨU, THIẾT KẾ VÀ HIỆN THỰC SOFTWARE-MODEM CHO THIẾT BỊ PDA TRÊN NỀN HỆ THỐNG NHÚNG uCdimm MC68VZ328 DƯỚI HỆ ĐIỀU HÀNH uCLinux LUẬN VĂN THẠC SĨ Chuyên Ngành Công Nghệ Thông Tin TP HỒ CHÍ MINH, THÁNG 04 NĂM 2005 Đại học Quốc Gia Tp Hồ Chí Minh CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc - TRƯỜNG ĐẠI HỌC BÁCH KHOA - Tp.HCM, ngày 17 tháng năm 2005 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN TRÍ NĂNG Phái: Nam Ngày tháng năm sinh: 05 - 02 - 1975 Nơi sinh: Lâm Đồng Chuyên ngành: Công Nghệ Thông Tin MSHV: CNTT13.012 I TÊN ĐỀ TÀI: Nghiên cứu, thiết kế thực software-modem cho thiết bị PDA hệ thống nhúng uCdimm MC68VZ328 hệ điều hành uClinux II NHIỆM VỤ VÀ NỘI DUNG: Nhiệm vụ đề tài nghiên cứu hệ thống nhúng hệ điều hành cho hệ thống nhúng, nghiên cứu software-modem, thực thiết bị PDA sử dụng hệ thống nhúng hệ điều hành nhúng PDA bao gồm hình LCD, touch-screen softwaremodem III NGÀY GIAO NHIỆM VỤ: Bảo vệ đề cương ngày 01-07-2004 IV NGÀY HOÀN THÀNH NHIỆM VỤ: Bảo vệ luận án tốt nghiệp ngày 11-05-2005 V CÁN BỘ HƯỚNG DẪN: Tiến só Lê Ngọc Minh Cán hướng dẫn CN môn QL chuyên ngành TS Lê Ngọc Minh Nội dung đề cương luận văn thạc só Hội đồng chuyên ngành thông qua Ngày Trưởng phòng đào tạo sau đại học tháng năm Trưởng khoa quản lý ngành TÓM TẮT Luận án có nhiệm vụ nghiên cứu thực software-modem cho hệ thống nhúng chạy hệ điều hành mã nguồn mở uClinux xuất phát từ nhu cầu hệ thống nhúng ngày sử dụng rộng rãi nhiều lónh vực chúng cần trao đổi liệu với hệ thống khác Software-modem thích hợp sử dụng hệ thống nhúng để trao đổi liệu có kích thước nhỏ gọn, dễ nâng cấp, tiêu hao lượng giá thành thấp Tốc độ truyền liệu software-modem không cao việc xử lý tín hiệu thu phát thực gói phần mềm chạy CPU hệ thống, nhiên việc trao đổi liệu hệ thống nhúng thường không cần tốc độ cao Hệ điều hành uClinux sử dụng có phiên 2.4.x hệ thống nhúng sử dụng uCdimmVZ ArcturusNetworks Software-modem xây dựng dạng module device-driver kernel hệ điều hành, tương tác với hệ điều hành dựa chế tiện ích hệ thống Phần cứng cần phải có thêm hệ thống chip codec chuyển đổi A/D-D/A lấy mẫu tín hiệu để xử lý Hiện thực luận văn thiết kế PDA sử dụng hệ thống nhúng bao gồm chức hiển thị LCD, điều khiển touch-screen trao đổi liệu thông qua software-modem Kết thực đề tài xem ví dụ cho quan tâm đến việc sử dụng hệ thống nhúng hệ điều hành uClinux Trang i ABSTRACT Based on the broadly used demand of the embedded systems and their requirement of exchange information with other systems, this thesis deals with and implements a software-modem for the embedded systems which use the open source code operation system uClinux Software-modem is appropriate for used in the embedded systems to exchange the information because it offers the small hardware space, easy upgradation, energy saving and low cost The data transmision speed of the software-modem may be not as fast as the normal modem, due to it consumes the system’s CPU processing time Actually, software-modem is a software packet is used to process the transmission signal replaced the DSP chip of the normal modem The software packet is executed by the system’s CPU itself However, in the embedded systems, the exchange information normmally does not require too fast and the data rate of the software-modem is acceptable In this thesis, the operation system uClinux kernel version 2.4.x and the embedded system uCdimmVZ of the ArcturusNetworks Corp is chosen to use The softwaremodem is designed in a form of a device-driver module of the operation system’s kernel It interacts with the operation system based on the system utilities The additional hardware required for the system is a codec A/D-D/A converter - signal sampling chip The thesis designs and implements a PDA which uses the above embedded system and operation system The PDA has a LCD, a touch-screen control and a software-modem It can exchange data with other systems via the software-modem This experimental result can be treated as an example for whom are interested in using embedded systems and uClinux operation system Trang ii LỜI CẢM ƠN Trước tiên xin gửi lời cảm ơn chân thành đến Thầy TS Lê Ngọc Minh, người tận tình giúp đỡ giảng dạy suốt thời gian học tập thời gian làm luận án thạc só Luận án hoàn thành nhờ công lao to lớn Thầy Tôi xin gởi lời cảm ơn đến Thầy Cô khoa Công Nghệ Thông Tin trường Đại Học Bách Khoa TP Hồ Chí Minh nhiều Thầy Cô khác giảng dạy, hướng dẫn học tập đến ngày hôm Xin cảm ơn giúp đỡ tạo điều kiện công ty AKIRA để có thời gian thực luận văn Xin cám ơn hợp tác nhân viên công ty Motorola, ArcturusNetwork,… cung cấp mã nguồn hệ điều hành nhúng uClinux nhiều tài liệu khác cho nghiên cứu hệ thống nhúng hệ điều hành uClinux version 2.4.x Sau biết ơn động viên, giúp đỡ gia đình bạn bè cho động lực mạnh mẽ để nghiên cứu thực luận văn Đề tài thiếu sai sót, mong nhận đóng góp người để đề tài hoàn thiện Trang iii MỤC LỤC Tóm tắt i Abstract ii Lời cảm ơn iii Muïc luïc iv Danh mục hình vii Danh mục baûng viii Thuật ngữ ký hiệu dùng đề tài ix CHƯƠNG 1: GIỚI THIỆU 1.1 ĐẶT VẤN ĐỀ 1.2 BÀI TOÁN HỆ ĐIỀU HÀNH VÀ SOFTWARE-MODEM CHO HỆ THỐNG NHÚNG 1.2.1 Mục tiêu đề tài 1.2.2 Phương hướng giải toán 1.2.3 Các yêu cầu đặt 1.3 CẤU TRÚC LUẬN VĂN CHƯƠNG CÁC CÔNG TRÌNH LIÊN QUAN .7 2.1 HỆ ĐIỀU HÀNH CHO CÁC HỆ THỐNG NHÚNG 2.2 SOFTWARE-DEVICE VAØ SOFTWARE-MODEM 2.3 SỬ DỤNG HỆ THỐNG NHÚNG ĐỂ LÀM HARDWARE-DEVICE CHƯƠNG CƠ SỞ LÝ THUYẾT 10 3.1 HỆ ĐIỀU HÀNH UCLINUX 10 3.1.1 Xây dựng thực thi module 11 3.1.2 Thời gian hệ điều haønh 12 3.1.3 Wait queues 13 3.1.4 Asynchronous notification 14 3.1.5 Task queue vaø tasklet 16 3.1.6 Device driver module 19 3.1.7 Xử lý interrupt 25 3.2 TRUYỀN DỮ LIỆU BẰNG MODEM QUA MẠNG ĐIỆN THOẠI 28 3.2.1 Mã hóa biến đổi A/D-D/A 28 3.2.2 Điều chế giải điều chế 30 3.2.3 Bộ lọc soá 35 Trang iv CHƯƠNG THIẾT KẾ VÀ HIỆN THỰC ĐỀ TÀI 39 4.1 MODULE SOFTWARE-MODEM 39 4.1.1 Giao tiếp với öùng duïng 40 4.1.1.1 Method open .40 4.1.1.2 Method release 41 4.1.1.3 Method read 42 4.1.1.4 Method write .42 4.1.1.5 Method poll .43 4.1.2 Tương tác với OS kernel 44 4.1.2.1 Interrupt handler 44 4.1.2.2 Task-queue/bottom-half 45 4.1.2.3 Wait-queues vaø asynchronous-notification 45 4.1.3 Xử lý liệu 46 4.1.3.1 Tần số lấy mẫu 47 4.1.3.2 Xử lý số floating-point .47 4.1.3.3 Các cấu trúc liệu điều khiển thu phát .48 4.1.3.4 Circular buffer 51 4.1.3.5 Data pump 53 4.1.3.5.1 Thiết lập kết nối 53 4.1.3.5.2 Điều chế giải điều chế 54 4.1.3.5.3 Hiện thực data-pump 70 4.1.3.6 Data handler .75 4.1.3.7 AT command parser vaø command handler 80 4.1.3.8 State machime 81 4.2 MODULE TOUCH-SCREEN VAØ LCD 82 4.2.1 Module touch-screen 82 4.2.2 Module LCD 83 4.3 THIEÁT KEÁ PHẦN CỨNG 83 4.4 KẾT QUẢ THỰC HIỆN ĐỀ TAØI 85 4.4.1 Hệ điều hành cho hệ thống nhúng 85 4.4.2 Software-modem 85 4.4.3 Hiện thực PDA 86 CHƯƠNG KẾT LUẬN .87 5.1 HẠN CHẾ CỦA LUẬN VĂN 87 5.2 ĐÓNG GÓP CỦA LUẬN VĂN 88 5.3 PHÁT TRIỂN VÀ ỨNG DỤNG KẾT QUẢ LUẬN VĂN 88 THƯ MỤC THAM KHẢO 90 Trang v PHUÏ LUÏC A CÀI ĐẶT MÔI TRƯỜNG PHÁT TRIỂN HỆ ĐIỀU HÀNH uClinux, XÂY DỰNG MODULE VÀ ỨNG DỤNG NHÚNG A-1 A.1 CÀI ĐẶT MÔI TRƯỜNG LÀM VIỆC A1 A.2 XÂY DỰNG MODULE VÀ ÖÙNG DUÏNG A1 A.2.1 Xây dựng module cho hệ điều hành A1 A.2.1.1 Khai baùo module để biên dịch A1 A.2.1.2 Cài đặt module vào kernel A3 A.2.2 Xây dựng ứng dụng nhúng A4 A.3 BIÊN DỊCH, DEBUG HỆ ĐIỀU HÀNH VÀ ỨNG DỤNG A5 A.3.1 Biên dịch hệ điều hành module A5 A.3.2 Debug ứng dụng nhúng A5 A.3.3 Debug module hệ điều haønh A6 PHỤ LỤC B MÃ NGUỒN HIỆN THỰC MỘT SỐ GIẢI THUẬT XỬ LÝ TÍN HIỆU .B-1 PHỤ LỤC C THỜI GIAN ĐÁP ỨNG INTERRUPT VÀ TỐC ĐỘ XỬ LÝ C-1 PHỤ LỤC D THIẾT KẾ BỘ LỌC SỐ BẰNG PHẦN MỀM MATLAB D-1 D.1 CÀI ĐẶT MATLAB VÀ THƯ VIỆN THIẾT KẾ BỘ LỌC SỐ D-1 D.1.1 Hàm thiết kế lọc FIR D-1 D.1.2 Hàm thiết kế lọc IIR D-3 D.2 THIẾT KẾ BỘ LỌC SỐ CHO ĐỀ TÀI D-3 PHỤ LỤC E SƠ ĐỒ MẠCH ĐIỆN THIẾT KẾ PHẦN CỨNG PDA .E-1 PHỤ LỤC F CHƯƠNG TRÌNH ỨNG DỤNG MẪU TRÊN PDA F-1 PHỤ LỤC G BẢNG THUẬT NGỮ VIỆT-ANH ĐỐI CHIẾU G-1 Trang vi DANH MỤC CÁC HÌNH Hình Mô hình module software-modem hệ điều hành Hình Cấu tạo hardware-modem Hình Cấu tạo software-modem Hình Hệ thống nhúng M5407C3 chuyên trách làm software-device .9 Hình Tiến trình thời gian sử dụng task queue .18 Hình Các tham số method read 23 Hình Mạng điện thoại kết nối user/modem 28 Hình Sơ đồ khối biến đổi Sigma-delta A/D .29 Hình Sơ đồ khối giải điều chế FSK non-coherent 30 Hình 10 Điều chế 16_QAM 31 Hình 11 Phân bố tín hiệu 16_QAM 32 Hình 12 Giải điều chế tín hiệu 16_QAM .32 Hình 13 Scramble vaø descramble .34 Hình 14 Mức lượng mẫu liệu baud .34 Hình 15 Sơ đồ khối cách phục hồi sóng mang .35 Hình 16 Bộ lọc số tổng quát 4-cấp-tới 3-cấp-lui 36 Hình 17 Bộ lọc FIR N-caáp 37 Hình 18 Bộ lọc FIR-Vi phân 37 Hình 19 Bộ lọc IIR 1-cấp tác dụng tích phân 38 Hình 20 Sơ đồ khối thiết kế software-modem .39 Hình 21 Sơ đồ khối xử lý liệu software-modem .46 Hình 22 Lược đồ thời gian thiết lập kết nối V.21 53 Hình 23 FSK Tx data pump 54 Hình 24 Cấu trúc FSK Tx data pump 55 Hình 25 FSK Rx data pump 55 Hình 26 Cấu trúc FSK Rx data pump 56 Hình 27 Phổ tần giải điều cheá binary FSK 56 Hình 28 Sơ đồ khối phát DPSK 59 Hình 29 Sơ đồ khối thu DPSK 60 Hình 30 Sơ đồ khối clock-recovery DPSK 61 Hình 31 Các điểm dùng làm decision thu DPSK 61 Hình 32 Phân bố tín hiệu 16_ QAM 64 Hình 33 Sơ đồ khối phát QAM .64 Hình 34 Sơ đồ khối thu QAM .65 Hình 35 Sơ đồ khối clock-recovery QAM 67 Hình 36 Liên hệ V.42 phần khác 75 Hình 37 Sơ đồ khối xử lý liệu V.42 76 Hình 38 Kết nối V.42bis .77 Hình 39 Rừng đại diện cho từ điển 78 Hình 40 Xử lý phát liệu V.14 79 Hình 41 Xử lý thu lieäu V.14 79 Trang vii Hình 42 Hoạt động command handler 81 Hình 43 Hoạt động state machine 81 Hình 44 Sơ đồ thiết kế module phần cứng PDA 84 DANH MỤC CÁC BẢNG Bảng Tiêu chuẩn modem ITU-T Bảng Tần số sóng mang số chuẩn modem ITU 29 Bảng Mã hóa DPSK cuûa V.22 59 Bảng Kết software-modem 85 Trang viii Phụ lục D: Thiết kế lọc số phần mềm MATLAB PHỤ LỤC D THIẾT KẾ BỘ LỌC SỐ BẰNG PHẦN MỀM MATLAB D.1 CÀI ĐẶT MATLAB VÀ THƯ VIỆN THIẾT KẾ BỘ LỌC SỐ Phần mềm MATLAB cung cấp ngôn ngữ lập trình thông dịch chuyên dùng cho tính toán xử lý liệu Rất nhiều hàm thư viện kèm theo phần mềm, có thư viện thiết kế lọc số Khi cài đặt MATLAB version 6.5, chọn cài đặt thêm công cụ “Filter Design Toolbox” Có thể xem chi tiết cách sử dụng hàm thư viện MATLAB cách sử dụng lệnh help cửa sổ lệnh (Command Window) >> help ‘gremez’ % hướng dẫn sử dụng hàm thư viện gremez Dưới số hàm thư viện thiết kế lọc số D.1.1 Hàm thiết kế lọc FIR • gremez (N,F,A,W) Ý nghóa biến số N, F, A W (không áp dụng cho hàm mà cho tất hàm thiết kế lọc số khác) sau: N: Bậc lọc, ví dụ: lọc N=37 bậc có N+1= 38 tape, F: Vector tần số, tần số đưa dạng chuẩn tắc (normalizedfrequency) Ví dụ: F = [0 0.4 0.5 1] có phần tử với tần số chuẩn tắc 0, 0.4 0.5 Cùng với phần tử tương ứng biến vector A, vector xác định đáp ứng biên độ theo tần lọc Tần số dạng chuẩn tắc tính dựa vào tần số lấy mẫu tần số Nyquist Tần số lấy mẫu FS(Hz) phải đảm bảo lớn hai lần tần số cực đại tín hiệu, tần số Nyquist FN = FS/2 Việc chuyển đổi tần số fH(Hz) sang dạng chuẩn tắc fN tính theo công thức fN = fH/FN Ví dụ: với tần số lấy mẫu FS= 9600Hz tần số Nyquist FN=4800Hz Chuyển tần số fH=300Hz sang dạng chuẩn tắc fN sau: fN=300/4800= 0.0625 Trang D-1 Phụ lục D: Thiết kế lọc số phần mềm MATLAB A: Vector biên độ, ví dụ: A = [1 0] có phần tử, hai phần tử đầu có giá trị hai phần tử sau có giá trị Cùng với giá trị vector F trên, giá trị vector A xác định lọc thông thấp tần số cắt 0.4 (dạng chuẩn tắc) W: Vector trọng số dải lọc Ví dụ, với vector A (bộ lọc thông thấp) có dải dải thông dải chặn, W = [1 2]: trọng số dải thông dải chặn Vector dùng để tối ưu hóa trình tính toán thiết kế lọc Khi biến bị để trống việc tính toán mặc định dải có trọng số Giá trị trả hàm (tất hàm thiết kế lọc khác) bao gồm vector b có N+1 phần tử hệ số (coefficient) lọc số cần thiết kế • firlpnorm (N,F,E,A,W) E: Vector xác định tần số band-edge thiết kế lọc nhiều band • firnyquist (N,L,R,D) Dùng để thiết kế lọc FIR Nyquist L: Thứ tự band Nyquist lọc, giá trị mặc định R: Hệ số roll-off lọc, giá trị mặc định 0.5 D: Xác định tỷ số suy giảm dải chặn, giá trị mặc định • firrcos (N,Fc,R,Fs,’rolloff’,TYPE) Dùng để thiết kế lọc FIR Raised Cosine Fc: Tần số cắt lọc R: Hệ số roll-off lọc Fs: Tần số lấy mẫu TYPE: Nếu ‘nomal’ tạo lọc FIR Raised Cosine thông thường Nếu ‘sqrt’ tạo lọc Square Root FIR Raised Cosine Trang D-2 Phụ lục D: Thiết kế lọc số phần mềm MATLAB D.1.2 Hàm thiết kế lọc IIR • iirlpnorm (N,M,F,E,A,W) Ý nghóa biến F, A, E W giống hàm Các biến N M có ý nghóa sau: N: Bậc tử thức lọc (tử thức hàm truyền) M: Bậc mẫu thức lọc (mẫu thức hàm truyền) • ellip (N,Rp,Rs,Wn) Có thể dùng để thiết kế lọc số lọc tương tự Elliptic Giá trị trả [b,a] gồm hai vector có N+1 phần tử, vector b hệ số tử thức lọc, vector a hệ số mẫu thức lọc Rp: Decibel độ gợn đỉnh dải thông, chọn Rp=0.5 Rs: Decibel độ suy giảm bé dải chặn, chọn Rs=20 Wn: Tần số cắt lọc, 0.0