Sơ đồ tổng quan toàn hệ thống

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng công nghệ hệ thống dữ liệu vô tuyến RDS trong truyền dẫn dữ liệu số qua hệ thống phát thanh FM tương tự (Trang 50 - 70)

Từ góc nhìn tổng quan ta có thể thấy rõ các khối trong hệ thống, vị trí và mối liên hệ giữa chúng.

Các thông tin RDS được mã hóa và điều chế cùng với sóng FM trước khi truyền đi. Sở dĩ bản tin RDS có thể truyền liên tục và đồng thời cùng các bản tin phát thanh mà không ảnh hưởng đến việc phát sóng là vì thông tin RDS được truyền trên một sóng mang phụ 57KHz, các tín hiệu khác stereo nằm ở dải tần cao hơn dải tần nghe được (tai người nghe được trong dải tần từ 20Hz đến 20KHz) và kết quả là nó không ảnh hưởng đến tín hiệu mono bình thường.

HVTH: NGUYỄN TIẾN THIỆN 44

LỚP KTVT-2014B

Hình 3.5 Góc nhìn tổng quan toàn hệ thống

HVTH: NGUYỄN TIẾN THIỆN 45

LỚP KTVT-2014B

LUẬN VĂN TỐT NGHIỆP ĐHBKHN

3.3.2 Sơ đồ chức năng tương tác của phần mềm

Hình 3.6 Biều đồ ca sử dụng của phần mềm

HVTH: NGUYỄN TIẾN THIỆN 46

LỚP KTVT-2014B

3.4 Thiết kế chi tiết:

3.4.1 Mô hình giao tiếp của các tầng trong hệ thống FM

Hình 3.7 Mô hình giao tiếp của các module trong hệ thống[8]

FM application and FM driver giao tiếp với nhau thông qua tầng Java APIs. FM host đã phát hành một FM java apis để có thể điểu khiển được driver của FM. Các interface này cho phép tầng ứng dụng có thể giao tiếp với tầng FM kernel thông qua JNI. Tầng JNI sẽ chuyển đổi Java api để có thể gọi được thư viện C.

HVTH: NGUYỄN TIẾN THIỆN 47

LỚP KTVT-2014B

LUẬN VĂN TỐT NGHIỆP ĐHBKHN

Thư viện C này sẽ lần lượt giao tiếp với V4L2 driver thông qua các interface của V4L2 như hình bên dưới.

Hình 3.8 Kết nối giữa tầng FM application và FM driver.[8]

Việc triển khai FM host trên android không tận dụng bất kì mã nguồn nào của các hệ điều hành khác. Thay vào đó Fm driver sử dụng kiến trúc FM V4L2. Các interface hiện có của FM V4L2 được triển khai cho FM driver và chúng có nhiệm vụ mở rộng các tính năng không được hỗ trợ trên bản hiện tại ví dụ như: khởi tạo và nâng hiệu năng của hệ thống...

Hình 3.9 Kiến trúc của FM V4L2 [8]

Kiến trúc cụ thể của FM host controller interface (FM HCI ) sẽ được mô tả chi tiết ở Hình 3.10 bên dưới.

HVTH: NGUYỄN TIẾN THIỆN 48

LỚP KTVT-2014B

Hình 3.10 Kiến trúc của FM host. [8]

Việc triển khai FM HCI bao gồm thành phần chính là aCPU và cCPU. Trong aCPU (FM Host) sẽ có các khối chính như hình vẽ trên.

FM HCI (Host controller interface) giao tiếp với FM command/events thông qua WCN-SS.

FM host driver được tích hợp vào V4L2 kernel driver.

FM middleware cung cấp các APIs cho tầng app có thể sử dụng các tính năng cơ bản của FM.

Trên cùng sẽ là tầng FM UI application.

HVTH: NGUYỄN TIẾN THIỆN 49

LỚP KTVT-2014B

LUẬN VĂN TỐT NGHIỆP ĐHBKHN

Khối thứ hai trong kiến trúc FM host là cCPU (FM controller).

Radio contron sẽ giao tiếp với phần cứng của radio và điều khiển hoạt động của nó.

RDS Filtering proc: RDS sẽ xử lý và lọc ra những khối dữ liệu RDS và gửi chúng cho máy chủ. Đồng thời nó cũng thực thi các chức năng để lọc ra những dữ liệu không mong muốn dựa trên bộ lọc được cung cấp bởi máy chủ.

FM HCI sẽ cung cấp một giao thức để định nghĩa các tập lệnh khác nhau và các sự kiện thay đổi giữa các FM host và FM controller để cho phép các máy chủ có thể cấu hình và điều khiển hoạt động của FM controller.

Hai khối aCPU và cCPU trong FM giao tiếp với nhau thông qua một physical Bus như UART, USB, SPI, SMD (share memory) hoặc SD.

Hình 3.11 FM HCI architecture [8]

HVTH: NGUYỄN TIẾN THIỆN 50

LỚP KTVT-2014B

3.4.2 Lưu đồ giải thuật lấy thông tin RDS thông qua hệ thống FM

Hình 3.12 Lưu đồ thuật toán bản tin hiển thị RDS

3.4.3 Phương thức và cơ chế truyền nhận bản tin RDS giữa các tầng

Trước khi đi tìm hiểu về phương thức và cơ chế chuyền nhận thông tin hiển thị RDS, ta sẽ tìm hiểu chi tiết cấu trúc định dạng các bản tin RDS.

Đầu tiên là cấu trúc khung dữ liệu.

Hình 3.13 Cấu trúc khung dữ liệu [1]

HVTH: NGUYỄN TIẾN THIỆN 51

LỚP KTVT-2014B

LUẬN VĂN TỐT NGHIỆP ĐHBKHN

Thành phần lớn nhất gọi là một ‘Group‘. Kích thước của nó gồm 104 bit. Mỗi group chia ra thành 4 block với kích thước thành phần là 26 bit.

Định dạng bản tin gồm các trường cơ bản sau:

Hình 3.14 Định dạng bản tin [1]

Pi code: programme Identification code 16 bit

Hình 3.15 Cấu trúc trường PI [1]

HVTH: NGUYỄN TIẾN THIỆN 52

LỚP KTVT-2014B

Group type code: 4 bit group type code cho mỗi group

Group 0A/B: Turning và switching AF, PS infomation

Hình 3.16 Cấu trúc trường PS [1]

Group 1A/B: Progamme item number

Froup 2A/B: Radio text

Hình 3.17 Cấu trúc trường radio text [1]

HVTH: NGUYỄN TIẾN THIỆN 53

LỚP KTVT-2014B

LUẬN VĂN TỐT NGHIỆP ĐHBKHN

TP: Traffic programme identificatin code 1 bit TPY: Programme type Code 5 bit

Checkword – Offset N: 10 bits

Các bản tin RDS được tách ra từ sóng FM giải mã và gửi lên tầng trên theo cơ chế handler data Call

back.

HVTH: NGUYỄN TIẾN THIỆN 54

LỚP KTVT-2014B

Hình 3.18 Sơ đồ cơ chế truyền nhận bản tin RDS

Hình 3.19 Luồng gửi nhận bản tin RDS ở tầng kernel

Phươg thức handle_rt_event() được chạy trên một thread độc lập có nhiệm vụ cập nhật liên tục bản bản tin radio text. Dữ liệu rt nhận được sẽ được lưu vào trong bộ đệm raw_rds [ST_BUF_SIZE]. Dữ liệu rds thu được thông qua hàm RDSDataReceived() gửi lên tầng trên.

HVTH: NGUYỄN TIẾN THIỆN 55

LỚP KTVT-2014B

LUẬN VĂN TỐT NGHIỆP ĐHBKHN

Hình 3.20 Luồng gửi nhận bản tin RDS tại tầng native Framework

Dữ liệu rds được gửi lên tầng application thông qua JNI.

Method CallbaclToJava () sẽ nhận dữ liệu đươc truyền hàm RDSReceive (). Tầng native app sẽ nhận được dữ liệu thông qua cơ chế Notify event.

Hình 3.21 Gửi nhận bản tin RDS tại tầng native app

HVTH: NGUYỄN TIẾN THIỆN 56

LỚP KTVT-2014B

Từ trên tầng Application sẽ ghi đè hàm onRDSReceive () để có thể thể nhận được bản tin RDS

Hình 3.22 Gửi nhận bản tin RDS tại tầng ứng dụng

HVTH: NGUYỄN TIẾN THIỆN 57

LỚP KTVT-2014B

LUẬN VĂN TỐT NGHIỆP ĐHBKHN

3.5 ĐÁNH GIÁ KẾT QUẢ 3.5.1 Kết quả thử nghiệm

Cài đặt chương trình

Bước 1: Sao chép bộ cài của phần mềm RDS.apk vào bộ nhớ điện thoại

Hình 3.23 Các bước cài đặt phần mềm Bước 2: Kích đúp vào gói và chọn “Install„

Bước 3: Hoàn thành và biểu tượng sẽ sinh ra ngoài màn hình Các bản tin được giải mã từ hệ thống FM

Sử dụng adb command để kiểm tra các bản tin thông báo từ dưới kernel. Bước 1: chạy lênh “adb start-server“ để khởi động adb.

Hình 3.24 Khởi động adb command

HVTH: NGUYỄN TIẾN THIỆN 58

LỚP KTVT-2014B

Bước 2: Sử dụng cmd: adb logcat –vtime | find “RDS“ và adb shell cat | proc | kmsg để kiểm tra các thông báo từ tầng kernel gửi lên

Hình 3.25 Thông báo từ tầng kernel

HVTH: NGUYỄN TIẾN THIỆN 59

LỚP KTVT-2014B

LUẬN VĂN TỐT NGHIỆP ĐHBKHN

Demo phần mềm

Giao diện chính của phần mềm.

Turn ON

Hình 3.26 Giao diện chính của phần mềm

Quá trình Turning và scan kênh

Found

Hình 3.27 Quá trình tìm kiếm kênh

HVTH: NGUYỄN TIẾN THIỆN 60

LỚP KTVT-2014B

Hiển thị thông tin PS (Programme service), RT (Radio text).

PS

Radio Text

Hình 3.28 Giao diện hiển thông thông tin RDS

Lưu danh sách kênh yêu thích

Hình 3.29 Giao diện danh sách kênh yêu thích

HVTH: NGUYỄN TIẾN THIỆN 61

LỚP KTVT-2014B

LUẬN VĂN TỐT NGHIỆP ĐHBKHN

KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN Các vấn đề đã làm được

Trong thời gian nghiên cứu và thực hiện đồ án em đã đạt được các kết quả:

 Nghiên cứu về giao thức RDS nắm vững được nguyên lý mã hóa và giải mã bản tin RDS.

 Ứng dụng lý thuyết đã nghiên cứu về RDS để thiết kế và phát triển thành công một ứng dụng có thể thu sóng FM và giải mã bản tin RDS để hiển thị trên màn hình điện thoại di động.

 Phát triển mô đun lưu lại các kênh yêu thích của người dùng.

 Phát triển thêm tính năng dò kệnh tự động giúp người dùng tìm ra các kênh có tín hiệu tốt.

 Tối ưu hóa mã nguồn để tăng hiệu năng của phần mềm.

 Đơn giản hóa giao diện phần mềm để thân thiện với người dùng.

Định hướng trong tương lai

Luận văn chủ yếu mới sử dụng được các bản tin hiển thị chứ chưa tận dụng được các bản tin điều khiển của RDS. Còn rất nhiều ứng dụng hữu ích nếu sử dụng được bản tin điều khiển này. Trong tương lai tác giả sẽ nghiên cứu sâu hơn về bản tin điều khiển RDS, tìm hiểu cấu trúc bản tin và áp dụng lên phần mềm của mình để hoàn thiện các tính năng của phần mềm.

HVTH: NGUYỄN TIẾN THIỆN 62

LỚP KTVT-2014B

TÀI LIỆU THAM KHẢO

1. Dietmar Kopitz, Bev Marks ( 1999), RDS: The Radio Data

System, Mobile Communications Library, Bosyon, London.

2. Dominique Paret (1997), Modem Control Technology, Cengare Learning, USA.

3. Dyer, Harms (1993), Digital Signal Processing, Acandemic Press, Yovits, M.C.

4. Hamed Haddadi, Paul brennan (2003), RDS encoder,

University college London, London.

5. Milan Verle (2008) , PIC Microcontrollers, MikroElektronika, 1st Edition .

6. Mark L. Murphy (2011), Android Progamming Tutotials, Commonware, LLC.

7. Qualcomm tecnology (2011), 80-N6866-1-A FM radio App call flows android, Qualcomm Incorporated, San Diego, USA.

8. Qualcomm tecnology (2011), 80-VR485-1-D FM radio Overview, Qualcomm Incorporated, San Diego, USA.

9. RDS Forum Statemen (1996), sent with letter DT/969-S/DK dated. 10. Ohsmann, M. (1991), Radio Data System (RDS) Decoder,Elecktor Electronic, Uk.

11. Parnal (1989), “Decoding RDS”, Electronic & Wireless World, pp 148

– 155.

12. Scott Wright (1997), The Broadcaster’s Guide to RDS, Silicon

Laboratories Inc, Texas.

13. Simon Monk (2011), Programming Arduino Getting Started With

Sketches, McGraw- Hill Education LAB, USA.

14. Walt Kester (2005), The Data Conversion Handbook, Newnes, USA.

HVTH: NGUYỄN TIẾN THIỆN 63

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng công nghệ hệ thống dữ liệu vô tuyến RDS trong truyền dẫn dữ liệu số qua hệ thống phát thanh FM tương tự (Trang 50 - 70)

Tải bản đầy đủ (DOCX)

(70 trang)
w