Lý do chọn đề tài Công nghệ truyền dữ liệu số qua hệ thống phát thanh FM tương tự RDS được thiết kế để truyền những gói dữ liệu kích thước nhỏ trên kênh truyền FM tần số từ 87.5 MHz tới
Trang 1TS Nguyễn Xuân Quyền
Hà Nội – Năm 2016
Trang 2DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT 5
DANH MỤC CÁC BẢNG 5
DANH MỤC HÌNH VẼ, ĐỒ THỊ 7
MỞ ĐẦU 9
TÓM TẮT LUẬN VĂN 11
CHƯƠNG 1: THÔNG SỐ VÀ CẤU TRÚC DỮ LIỆU CỦA CÔNG NGHỆ RDS 13 1.1 Giới thiệu chương 13
1.2 Thông số vật lý của công nghệ RDS 13
1.3 Cấu trúc dữ liệu của công nghệ RDS 20
1.4 Kết luận chương 25
CHƯƠNG 2: NGHIÊN CỨU MẠCH THU PHÁT FM/RDS SỬ DỤNG CHIP SI4703/SI4713 26
2.1 Giới thiệu chương 26
2.2 Mạch phát FM sử dụng chip Si4713 27
2.2.1 Tổng quan về chip Si4713 27
2.2.2 Các lệnh điều khiển và thông số đặc tính của chip Si4713 30
2.2.3 Thuật toán điều khiển phát FM/RDS 35
2.3 Mạch thu FM sử dụng chip Si4703 45
2.3.1 Tổng quan về chip Si4703 45
2.3.2 Chức năng các thanh ghi chip Si4703 47
2.3.3 Thuật toán điều khiển thu FM/RDS 56
2.4 Kết luận chương 65
CHƯƠNG 3: THIẾT KẾ MẠCH PHÁT, MẠCH THU FM/RDS VÀ KẾT QUẢ ĐẠT ĐƯỢC 66
3.1 Giới thiệu chương 66
3.2 Tổng quan về arduino 66
Trang 33.2.1 Giới thiệu về Arduino 66
3.2.2 Giới thiệu về Arduino IDE và ngôn ngữ lập trình cho Arduino .67
3.2.3 Giao tiếp I2C .68
3.3 Mạch phát FM/RDS sử dụng arduino và module Si4713 .69
3.3.1 Giới thiệu module Si4713 69
3.3.2 Điều khiển module Si4713 bằng Arduino 72
3.4 Mạch thu FM/RDS sử dụng arduino và module Si4703 74
3.4.1 Giới thiệu module Si4703 74
3.4.2 Điều khiển module Si4703 bằng Arduino 76
3.5 Kết quả và đánh giá 79
3.5.1 Kết quả mạch phát FM/RDS sử dụng module Si4713 79
3.5.2 Kết quả mạch thu FM/RDS sử dụng module Si4703 80
3.5.3 Đánh giá kết quả 82
KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 83
TÀI LIỆU THAM KHẢO 84
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung được trình bày trong bản luận văn này là
kết quả tìm kiếm và nghiên cứu của riêng tôi dưới sự hỗ trợ và chỉ bảo của người
hướng dẫn Các kết quả và dữ liệu được nêu trong luận văn là hoàn toàn trung thực
và rõ ràng Mọi thông tin trích dẫn đều được tuân theo luật sở hữu trí tuệ, liệt kê rõ
ràng các tài liệu tham khảo Tôi xin chịu hoàn toàn trách nhiệm với những nội dung
được viết trong luận văn này
Hà Nội, ngày 14 tháng 09 năm 2016
Tác giả luận văn
Đỗ Anh Đức
Trang 5DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
FM Frequency Modulation (điều chế tần số)
RDS Radio Data System (hệ thống dữ liệu radio)
RBDS Radio Broadcast Data System (hệ thống dữ liệu phát thanh radio)
PS Programme Service (tên dịch vụ chương trình)
PI Programne Identification code (mã nhận dạng chương trình)
DI Decoder Identification code (mã nhận dạng chức năng)
PTY Programme Type Code (mã kiểu chương trình)
TP Traffic Program Identification code (mã nhận dạng chương trình giao thông)
TA Traffic Anouncement code (mã thông báo trạm)
M/S Music-Speech switch code (mã chuyển âm nhạc/ tiếng nói)
CRC Cyclic redundancy check (mã kiểm tra lỗi)
EBU European Broadcasting Union (hiệp hội liên minh phát thanh Châu Âu)
BPSK Binary Phase Shift Keying (điều chế pha nhị phân)
PLL Phased-locked loop (vòng khóa pha)
MSB Most significant bit (bit có trọng số lớn nhất)
VCO Voltage controlled oscillator (bộ tạo dao động điều khiển bằng điện áp)
LDO Low DropOut (mạch ổn áp tuyến tính điện áp rơi thấp)
AFC Automatic Frequency Control (tự động điều chỉnh tần số sóng mang)
DSP Digital signal processor (bộ xử lý tín hiệu âm thanh tích hợp nhiều tính năng)
ADC Analog to digital converter (bộ chuyển đổi tương tự ra số)
DAC Digital to Analog converter (bộ chuyển đổi số ra tương tự)
FIFO First in, first out (vào trước, ra trước)
PGA Programmable Gain Amplifier (bộ khuyếch đại lập trình được)
RSSI Recieved Signal Strength Indicator (chỉ số cường độ tín hiệu thu)
LNA Low noise amplifier (khối khuếch đại nhiễu thấp)
Trang 6DANH MỤC CÁC BẢNG
Bảng 1.1: Mã hóa vi sai 15
Bảng 1.2: Giải mã vi sai 16
Bảng 1.3: Giá trị offset của checkword 22
Bảng 1.4: Các bit mã DI 24
Bảng 2.1: Mô tả các chân kết nối trên chip Si4713 .28
Bảng 2.2: Các lệnh điều khiển chip Si4713 .31
Bảng 2.3: Các thông số đặc tính 32
Bảng 2.4: Dữ liệu phản hồi .34
Bảng 2.5: Ý nghĩa các bit dữ liệu phản hồi 34
Bảng 2.6: Thiết lập các cờ RDS 41
Bảng 2.7: Mô tả chức năng chân chip Si4703 .46
Bảng 2.8: Các thanh ghi của chip Si4703 .48
Trang 7DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 1.1: Phổ tần số FM 13
Hình 1.2: Sơ đồ khối của bộ mã hóa RDS .14
Hình 1.3: Sơ đồ khối của bộ giải mã RDS 14
Hình 1.4: Đáp ứng biên độ của bộ lọc lập khuôn dữ liệu tại máy phát và máy thu 17
Hình 1.5: Đáp ứng biên độ sau kết hợp các bộ lọc lập khuôn dữ liệu ở máy phát và máy thu 18
Hình 1.6: Tín hiệu dữ liệu radio được mã hóa song pha (bi-phase) .18
Hình 1.7: Tín hiệu song pha (bi-phase) theo thời gian .19
Hình 1.8: Tín hiệu dữ liệu radio 57 KHz .19
Hình 1.9: Cấu trúc của dữ liệu của RDS 20
Hình 1.10: Định dạng dữ liệu và địa chỉ .21
Hình 1.11: Cấu trúc một group type 0A 23
Hình 1.12: Cấu trúc một group type 0B 24
Hình 2.1: Chip Si4713 27
Hình 2.2: Sơ đồ chân chip Si4713 .28
Hình 2.3: Sơ đồ khối chip Si4713 .30
Hình 2.4: Giá trị REFCLK tại đầu ra của bộ chia tần 36
Hình 2.5: Lưu đồ thuật toán của quá trình khởi động 37
Hình 2.6: Lưu đồ thuật toán thiết lập kênh truyền .39
Hình 2.7: Lưu đồ thuật toán gửi bản tin RDS .44
Hình 2.8: Chip Si4703 45
Hình 2.9: Sơ đồ chân chip Si4703 .45
Hình 2.10: Sơ đồ khối chip Si4703 47
Hình 2.11: Quá trình khởi động .56
Hình 2.12: Lưu đồ thời gian quá trình khởi động .57
Hình 2.13: Lưu đồ thời gian quá trình thiết lập kênh 58
Hình 2.14: Lưu đồ thuật toán quá trình thiết lập kênh .60
Hình 2.15: Lưu đồ thời gian quá trình chuyển kênh .61
Trang 8Hình 2.16: Lưu đồ thuật toán quá trình chuyển kênh .62
Hình 2.17: Lưu đồ thời gian đọc dữ liệu RDS .63
Hình 2.18: Lưu đồ thuật toán đọc dữ liệu RDS .64
Hình 3.1: Mạch Arduino Uno .66
Hình 3.2: Giao diện phần mềm Arduino IDE .68
Hình 3.3: Giao tiếp I2C .68
Hình 3.4: Module Si4713 .70
Hình 3.5: Mạch nguyên lý module Si4713 .71
Hình 3.6: Kết nối mạch Arduino với module Si4713 .72
Hình 3.7: Module Si4703 .74
Hình 3.8: Mạch nguyên lý module Si4703 .75
Hình 3.9: Kết nối mạch arduino với LCD16x2 và module Si4703 .76
Hình 3.10: Kết nối mạch phát FM/RDS với máy tính .79
Hình 3.11: Giao diện điều khiển mạch phát sóng FM/RDS .79
Hình 3.12: Giao diện gửi bản tin RDS 80
Hình 3.13: Mạch thu FM/RDS khi khởi động .80
Hình 3.14: Mạch nguyên lý module Si4713 .81
Hình 3.15: Bản tin RDS thu được “Hello” 81
Hình 3.16: Bản tin RDS thu được “123456” .81
Hình 3.17: Bản tin RDS thu được “Good day” 82
Trang 9MỞ ĐẦU
1 Lý do chọn đề tài
Công nghệ truyền dữ liệu số qua hệ thống phát thanh FM tương tự (RDS)
được thiết kế để truyền những gói dữ liệu kích thước nhỏ trên kênh truyền FM tần
số từ 87.5 MHz tới 108 MHz Chức năng chính của RDS là cung cấp thêm các
thông tin hữu ích cho máy thu như loại chương trình, tên chương trình, các cảnh báo
giao thông Hiện tại ở Việt Nam các đài phát thanh chưa triển khai các dịch vụ giá
trị gia tăng dựa trên công nghệ RDS, tiềm năng ứng dụng cho các lĩnh vực quảng bá
thông tin, điều khiển các thiết bị từ xa thông qua các dữ liệu gửi qua RDS là rất lớn
Do vậy tác giả quyết định chọn đề tài nghiên cứu “Truyền dữ liệu số qua hệ thống
phát thanh FM tương tự sử dụng công nghệ RDS (Radio Data System)” nhằm
mục đích nghiên cứu và thiết kế thiết bị thu phát FM/RDS để hiển thị các bản tin
đến người dùng tại máy thu
2 Lịch sử nghiên cứu
Hệ thống truyền dữ liệu số RDS qua sóng FM đã được nghiên cứu từ thập
niên 70 và được hiệp hội liên minh phát thanh châu âu (EBU) đưa ra tiêu chuẩn đầu
tiên vào năm 1984 Đến năm 1992 Bắc Mỹ đưa ra tiêu chuẩn RDS của riêng mình
gọi là RBDS Năm 2000, RDS được công nhận bởi tổ chức IEC (International
Electrotechnical Commission) Tháng 7 năm 2015, RDS-Forum (Geneva / CH)
đưa ra chuẩn RDS2 mới sử dụng chung trên toàn thế giới
3 Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu
Mục đích nghiên cứu của luận văn là tìm hiểu về công nghệ RDS, thiết kế
mạch thu phát FM/RDS dựa trên module Si4703/Si4713 cho phép truyền đi các dữ
liệu dạng kí tự và hiển thị lên màn hình LCD
Đối tượng nghiên cứu bao gồm: công nghệ RDS, cấu trúc chip
Si4703/Si4713, thuật toán điều khiển thu phát sóng FM/RDS với chip
Si4703/Si4713
Trang 10Phạm vi nghiên cứu bao gồm: các thông số của công nghệ RDS, cấu trúc dữ
liệu của công nghệ RDS, thuật toán điều khiển thu phát sóng FM/RDS, thiết kế
phần cứng với mạch Arduino và module Si4703/Si4713
4 Tóm tắt cô đọng các luận điểm cơ bản và đóng góp mới của tác giả
Trong phạm vi luận văn đã đưa ra được các thông số của công nghệ RDS,
cấu trúc dữ liệu của công nghệ RDS, chức năng, cách hoạt động của chip thu phát
FM/RDS Si4703/Si4713 và cách triển khai hệ thống thực tế
5 Phương pháp nghiên cứu
Phương pháp nghiên cứu chính thông qua các nguồn tư liệu đã xuất bản, các
bài báo đăng trên các tạp chí khoa học, datasheet của linh kiện, các diễn đàn thảo
luận liên quan đến nội dung cần nghiên cứu
Nghiên cứu kết hợp giữa phân tích tính toán lý thuyết, mô phỏng và chế tạo
thực nghiệm để kiểm chứng
Trang 11TÓM TẮT LUẬN VĂN
Trong khuôn khổ luận văn tốt nghiệp, cùng với việc tìm hiểu các sách báo
trong và ngoài nước, tìm hiểu các phần cứng liên quan đến hệ thống truyền dữ liệu
số RDS qua sóng phát thanh FM, tác giả đã chọn nghiên cứu để tài: “Truyền dữ
liệu số qua hệ thống phát thanh FM tương tự sử dụng công nghệ RDS” Nội
dung của luận văn gồm có:
Chương 1: Thông số và cấu trúc dữ liệu của công nghệ RDS
Chương này trình bày các thông số vật lý và cấu trúc dữ liệu của công nghệ
Chương 3: Thiết kế mạch thu phát FM/RDS và kết quả đạt được
Chương này trình bày cách thiết lập phần cứng thu phát FM/RDS sử dụng
mạch Arduino và module Si4703/Si4713
Trang 12ABSTRACT
In the framework of the thesis, along with the understanding of the paper at
home and abroad, the refering of the hardwares related to transmitting data through
FM broadcasting, I chosen research project: “Transmitting digital data through
analog FM broadcasting system use RDS technology” The contents of our
project include:
Chapter 1: Basic parameters and data structure of RDS
This chapter learns about the parameters of RDS and its data
coding/decoding
Chapter 2: Research on FM/RDS transmitter/receiver using chip
Si4703/13
This chapter offers the structure of the chip Si4703/Si4713 and FM/RDS
transceiver control algorithm
Chapter 3: Implementation of FM/RDS transmitter/receiver and
obtained results
This chapter shows how to set up a system transceiver FM/RDS using
Arduino and module Si4703/Si4713
Trang 13CHƯƠNG 1: THÔNG SỐ VÀ CẤU TRÚC DỮ LIỆU CỦA CÔNG
NGHỆ RDS 1.1 Giới thiệu chương
Công nghệ truyền dữ liệu số qua sóng FM (RDS) được thiết kế để truyền
những gói dữ liệu kích thước nhỏ trên kênh truyền FM tần số từ 87.5 MHz tới 108
MHz Chức năng chính của RDS là cung cấp thêm các chức năng hữu ích cho máy
thu như nhận biết loại chương trình, hiển thị tên chương trình và có thể tự động
chuyển kênh cho các thiết bị thu sóng FM di động [1] Chương 1 sẽ trình bày các
thông số vật lý và cấu trúc dữ liệu của công nghệ RDS
1.2 Thông số vật lý của công nghệ RDS
1.2.1 Tần số sóng mang
Hình 1.1: Phổ tần số FM [3]
Băng tần FM bao gồm thành phần phát sóng âm thanh mono hoạt động trong
dải tần từ 50 Hz đến 15 KHz, các thành phần âm thanh stereo sau khi điều chế biên
độ bị chặn tại tần số 38 KHz Tín hiệu 19 KHz gọi là tần số pilot được dùng để khôi
phục sóng mang 38 KHz phục vụ cho giải điều chế cân bằng, sai số tối đa cho phép
là 19 kHz ± 2 Hz Thông tin RDS được truyền trên một sóng mang phụ 57 KHz
Sai lệch để hệ thống hoạt động tốt thường trong khoảng ± 2 KHz [3] Hình 1 mô tả
phổ tần sóng FM
Comment [D1]: Cho số trích dẫn to
như bình thường vd như [1]
Trang 141.2.2 Pha sóng mang
Pha sóng mang sẽ được khóa cùng pha hoặc vuông pha với tần số pilot 19
KHz Sai pha cho phép trong khoảng ± 10°, được đo tại đầu vào bộ điều chế máy
phát FM Hình 1.2 là sơ đồ khối của một bộ mã hóa RDS tại đầu phát, hình 1.3 là sơ
đồ khối của một bộ giải mã RDS tại đầu thu [1]
Hình 1.2: Sơ đồ khối của bộ mã hóa RDS [1]
Hình 1.3: Sơ đồ khối của bộ giải mã RDS [1]
Trang 151.2.3 Phương pháp điều chế
Sóng mang con được điều chế biên độ bằng cách lập khuôn dữ liệu và kết
hợp tín hiệu được mã hóa song pha (bi-phase), triệt sóng mang Phương pháp điều
chế này ứng dụng từ phương pháp khóa dịch (BPSK) với độ lệch pha là ± 90o [1]
1.2.4 Tần số clock và tốc độ dữ liệu
Tần số clock cơ bản được xác định bằng cách chia tần số sub-carrier (57
KHz) được phát đi cho 48 Do đó tốc độ dữ liệu của hệ thống (xem hình 1.2) là
Trong đó ti là hàm thời gian, ti-1 là thời điểm dữ liệu được truyền trong chu kì
trước đó với tần số clock bằng 1187.5 Hz [1]
Do đó khi đầu vào ở mức 0, đầu ra vẫn duy trì ở mức không đổi so với bit
đầu ra trước đó, và khi một đầu vào bằng 1, bit đầu ra mới bù cho bit đầu ra trước
đó
Tại máy thu dữ liệu phải được giải mã với quy trình ngược lại mô tả trong
bảng 1.2 [1]
Trang 161.2.6 Điều chế lập khuôn kênh dữ liệu
Công suất của tín hiệu tại vùng tần số Sub-carrier 57 kHz được tối thiểu bằng
cách mã hóa mỗi bit dữ liệu nguồn thành các ký hiệu song pha (bi-phase)
Điều này được thực hiện để tránh hiện tượng cross talk tại vòng khóa pha
(PLL) và đạt yêu cầu tương thích với các hệ thống ARI Nguyên lý của quá trình
được mô tả chi tiết ở hình 1.2 Mỗi bit nguồn được định nghĩa bởi một cặp tín hiệu
xung đơn vị như sau [1]:
e(t) mức logic 1 tại nguồn:
Và mức logic 0 được cho bởi:
e(t) = – δ(t) + δ(t – td/2) (1.2) Các cặp xung này được lập khuôn (shaped) bởi một bộ lọc HT(f), để đạt yêu
cầu về phổ băng tần:
(1.3)
Với Các bộ lọc lập khuôn phổ dữ liệu đã được cân bằng về số lượng giữa máy
phát và máy thu (để đạt được hiệu suất tối ưu khi có sự hiện diện của nhiễu) do đó,
Trang 17một cách lý tưởng, các bộ lọc dữ liệu tại máy thu phải có thể nhận dạng tín hiệu với
thông số được sử dụng ở máy phát (được nêu ở trên) Nhìn chung phổ kênh dữ liệu
được lập khuôn bởi H0(f) sẽ đạt được 100% dạng sóng cosin
Hình 1.4: Đáp ứng biên độ của bộ lọc lập khuôn dữ liệu tại máy phát, máy thu[3]
Các đáp ứng bộ lọc thông thấp tại máy phát và máy thu được định nghĩa
bằng phương trình HT như trên biểu diễn trên hình 1.4, việc lập khuôn phổ kênh dữ
liệu được mô tả ở hình 1.5 [3]
Trang 18Hình 1.5: Đáp ứng biên độ sau kết hợp các bộ lọc lập khuôn dữ liệu ở máy phát và
máy thu [3]
Phổ của tín hiệu dữ liệu radio được mã hóa song pha ở máy phát được biểu
diễn ở hình 1.6 và hàm theo thời gian của tín hiệu song pha (ở máy phát) được mô
tả ở hình 1.7 [3]
Hình 1.6: Tín hiệu dữ liệu radio được mã hóa song pha (bi-phase) [3]
Trang 19Hình 1.7: Tín hiệu song pha (bi-phase) theo thời gian [3]
Dạng sóng của tín hiệu dữ liệu radio tần số 57 kHz tại đầu ra của thiết bị phát
dữ liệu radio biểu diễn ở hình 1.8 [3]
Hình 1.8: Tín hiệu dữ liệu radio 57 KHz [3]
Trang 201.3 Cấu trúc dữ liệu của công nghệ RDS
1.3.1 Cấu trúc dữ liệu của RDS
Hình 1.9: Cấu trúc của dữ liệu của RDS [3]
Để máy thu có thể nhận được thông tin văn bản chính xác từ máy phát truyền
đi thì việc đầu tiên là phải đảm bảo đồng bộ cấu trúc thông tin giữa máy phát và
máy thu [14], từ yêu cầu đó ta đi tới thiết lập cấu trúc mã hóa cũng như là định dạng
thông tin cho hệ thống Hình 1.9 mô tả cấu trúc mã dữ liệu RDS Thành phần quan
trọng nhất của cấu trúc dữ liệu là một group gồm 104 bit Mỗi group bao gồm 4
block, mỗi block có 26 bit trong đó 16 bit thông tin và 10 bit kiểm tra [3]
1.3.2 Thứ tự của bít truyền
Các bit có trọng số lớn nhất (MSB) sẽ được truyền đi trước (xem hình 1.10)
Việc truyền dữ liệu hoàn toàn liên tục và không ngắt quãng giữa các group hay các
block [10]
Trang 21Hình 1.10: Định dạng dữ liệu và địa chỉ [3]
Trong đó:
- Group type code: mã phân loại group = 4 bit
- Bo: mã version = 1 bit
- PI code: mã nhận dạng chương trình = 16 bit
- TP: Mã nhận dạng chương trình traffic = 1 bit
- PTY: Mã kiểu chương trình = 5 bit
- Checkword và offset = 10 bit giúp sửa lỗi và đồng bộ các block và
group
- t1 < t2 : block 1 luôn được truyền đầu tiên, block 4 cuối cùng
Các word thông tin và việc sử dụng chúng được mô tả chi tiết trong mục
1.3.4 (định dạng thông điệp)
1.3.3 Phát hiện và xử lý lỗi bit
Mỗi block 26 bit được truyền chứa 10 bit sửa lỗi nhằm cho phép máy thu/bộ
giải mã phát hiện và sửa lỗi xảy ra trong quá trình truyền [1] Những bit sửa lỗi này
(ví dụ: co, c1, c2, c3, c9 hình 1.9) là tổng (modulo 2) của:
Kết quả thu được khi nhân 16 bit thông tin cho x10 và sau đó chia
(modulo 2) cho đa thức G(x)
Trang 22 Một chuỗi nhị phân 10 bit D(x) được gọi là “offset word
Trong đó đa thức G(x) được cho bởi [1]:
G(x) = x10 + x8 + x7 + x5 + x4 + x3 + 1 (1.4) Giá trị offset D(x) là khác nhau cho mỗi block trong một group, được cho
như bởi bảng 1.3[1]:
Bảng 1.3: Giá trị offset của checkword
Giá trị nhị phân Offset Word
Mục đích của việc thêm thông tin offset là giúp cho group/block được đồng
bộ nhau tại cả máy phát và máy thu Việc thêm offset khi mã hóa phải được trích
xuất ở bộ giải mã Việc thêm offset sẽ không gây ảnh hưởng đến quá trình phát hiện
và sửa lỗi mã tín hiệu
Mã sửa lỗi cung cấp khả năng sửa lỗi như sau:
Nhận biết được tất cả các lỗi đơn bit và lỗi kép bit trên mỗi block
Nhận biết được bất kì lỗi burst spanning nào xảy ra trong khung 10 bit
hoặc ít hơn
Nhận biết được 99.8% trong khung 11 bit và 99.9% trong tất cả các
khung lớn hơn
Ở cả máy thu và máy phát đều đòi hỏi phải cho phép nhận dạng các khối bắt
đầu và kết thúc trong một group, việc đó sẽ giúp đồng bộ hóa các khối dữ liệu cũng
như phát hiện lỗi Hệ thống thực tế thực hiện nhận dạng bằng cách chèn các offset
1.3.4 Định dạng thông điệp
Trang 23Các đặc điểm chính của cấu trúc một thông điệp đã được minh họa trong
hình 1.10 Chúng ta có thể kết luận rằng:
1) Khối đầu tiên trong mỗi group luôn luôn bao gồm một mã nhận dạng
chương trình (PI), thông tin này bao gồm một mã cho phép máy thu phân biệt các
vùng, các quốc gia nơi mà cùng một chương trình được phát và nhận dạng chính
chương trình của nó [14]
2) Bốn bit đầu tiên của block thứ 2 của mỗi group được sử dụng để phân loại
group đó Có 16 loại group, với mỗi loại có 2 version Các version được phân biệt
bởi bit Bo của block thứ 2 [1]:
Bo = 0: mã PI chỉ được chèn vào block 1 Trường hợp này gọi là
“version A”
Bo = 1: mã PI được chèn vào block 1 và 3 trong tất cả các group
Trường hợp này gọi là “version B”
3) Kiểu chương trình (PTY) và mã nhận dạng chương trình giao thông (TP)
được cố định trong block thứ 2 của mỗi group Mã này được sử dụng để nhận biết
chương trình (tin tức, thể thao, giao thông, ) được truyền đi [1]
Hình 1.11: Cấu trúc một group type 0A [10]
Trang 24Hình 1.12: Cấu trúc một group type 0B [10]
Mục tiêu chính của đề tài là truyền tên kênh (bản tin PS) nên ta sẽ sử dụng
group 0A và 0B Block thứ 3 của group 0A chứa danh sách những tần số thay thế
được sử dụng khi di chuyển giữa các vùng lãnh thổ rộng, có sự thay đổi tần số của
đài phát Block thứ 4 của group 0A chứa thông tin tên kênh (bản tin PS), hình 1.11
biễu diễn định dạng của group 0A [10] Block 3 của nhóm 0B đơn giản là lặp lại mã
PI và khác giá trị offset (C’) Do đó trong đề tài này group 0B được chọn để truyền
tên trạm Hình 1.12 biễu diễn định dạng của group type 0B [10]
Có tất cả 4 nhóm kiểu 0B sẽ chịu trách nhiệm truyền toàn bộ tên dịch vụ
(PS) Tên dịch vụ được sử dụng để nhận biết trạm Và tên này có thể thay đổi được
Một số lưu ý về nhóm 0B:
- TA: Mã thông báo giao thông = 1 bit
- M/S: Mã chuyển tín hiệu âm nhạc/tiếng nói = 1 bit
- DI: Mã điều khiển giải mã/nhận dạng, mã này trong group 0B là 1 bit
Tên dịch vụ chương trình mà mã địa chỉ DI (C1 và C0) Do đó trong một
group với C1C0 = “00” bit DI là d3 Các bit mã này được truyền bit trọng
số lớn nhất (d3) đầu tiên Bảng 1.4 mô tả thiết đặt bit DI [1]
Bảng 1.4: Các bit mã DI
Trang 25Đặt bit d0 bằng 0 Mono
Đặt bit d0 bằng 1 Stereo
Đặt bit d1 bằng 0 Not Artificial Head
Đặt bit d1 bằng 1 Artificial Head
Đặt bit d2 bằng 0 Not compressed
Đặt bit d2 bằng 1 Compressed
Đặt bit d3 bằng 0 Static PTY
Đặt bit d3 bằng 1 Dynamically switched PTY
4) Tên dịch vụ chương trình được truyền dưới dạng ký tự, mỗi ký tự có 8 bit
được định nghĩa ở bảng mã 8 bit theo chuẩn RBDS (Hoa Kỳ) [3] Mỗi group có 4
block, mỗi block có 16 bit truyền bản tin PS ở group 4 nên mỗi block truyền được 2
ký tự, tổng cộng ta sẽ truyền được 8 ký tự (bao gồm khoảng trống) trong mỗi group
Các ký hiệu này sẽ được ghép lại để hiển thị tên chương trình Các địa chỉ của ký tự
tăng từ phải qua trái trên bảng hiển thị (hình 1.12) Bít có trọng số cao nhất (b7) của
mỗi ký tự được truyền đầu tiên [3]
1.4 Kết luận chương
Từ việc nghiên cứu cấu trúc dữ liệu RDS ta có thể thấy rằng công nghệ RDS
có thể sử dụng cho rất nhiều ứng dụng với chức năng khác nhau, việc tùy biến chức
năng được quy định bởi giá trị bit của các biến trong cấu trúc trình bày ở trên
Trong giới hạn đề tài là truyền dữ liệu số thì chúng ta chỉ cần thực hiện cấu hình
group 0B để truyền bản tin tên chương trình PS
Trang 26CHƯƠNG 2: NGHIÊN CỨU MẠCH THU PHÁT FM/RDS SỬ
DỤNG CHIP SI4703/SI4713
2.1 Giới thiệu chương
Chip thu FM/RDS Si4703 và chip phát FM/RDS Si4713 được phát triển bởi
hãng Silicon Lab, chip tích hợp chức năng thu phát sóng FM đồng thời chứa một bộ
xử lý RDS sử dụng để mã hóa, đồng bộ hóa, sửa lỗi cho phép gửi và nhận các bản
tin RDS [18] Chip Si4703/Si4713 có kích thước nhỏ, hiệu năng cao, điện năng tiêu
thụ thấp, linh hoạt và dễ sử dụng
Chương 2 sẽ trình bày các thông số kỹ thuật của chip Si4703/Si4713 và đưa
ra thuật toán thu phát FM/RDS sử dụng chip Si4703/Si4713
Trang 272.2 Mạch phát FM sử dụng chip Si4713
2.2.1 Tổng quan về chip Si4713
Chip Si4713 cung cấp một giáp pháp hoàn chỉnh để thực hiện các chức năng
truyền sóng FM/RDS Chip được chế tạo bằng công nghệ CMOS, tích hợp các
module xử lý số bên trong [18] giúp giảm các linh kiện cần thiết bên ngoài, điều
này làm tăng khả năng tích hợp vào các thiết bị yêu cầu có kích thước nhỏ gọn và
tiết kiệm chi phí
- Hỗ trợ giao diện làm việc số hoặc tương tự
- Phát hiện không có âm thanh đầu vào
- Xung clock có thể lập trình
- Hỗ trợ mã hóa RDS/RDBS
- Có thế lập trình mức công suất phát
- Điều khiển dải động âm thanh
- Điều khiển điều chế cấp cao
Trang 28- Nguồn vào từ 2,7 tới 5,5 V
- Tích hợp điều chỉnh LDO
- Kích thước 3 x 3 x 0.55mm, 20 chân pin
- Thiết kế phù hợp với các thiết bị di động
Sơ đồ chân [18]:
Hình 2.14: Sơ đồ chân chip Si4713
Bảng 2.5: Mô tả các chân kết nối trên chip Si4713
1, 2, 20 NC Không kết nối
3 RFGND Chân RF kết nối với đất
4 TXO Đầu phát sóng FM, kết nối với antenna
5 RST Chân reset (hoạt động khi ở mức logic thấp)
6 SEN Kích hoạt kết nối serial (hoạt động khi mức logic
thấp)
Trang 298 SDIO Chân dữ liệu serial vào ra
9 RCLK Chân kết nối bộ tạo dao động gắn ngoài
11 VDD Chân nguồn có thể kết nối thẳng vào pin
13 DIN Chân đầu vào dữ liệu số
14 DFS Chân đồng bộ khung đầu vào dữ liệu số
15 RIN Đầu vào tín hiệu âm thanh kênh phải
16 LIN Đầu vào tín hiệu âm thanh kênh trái
17 GPO3/DCLK Chân đầu ra mục đích chung/Bit đồng bộ xung kỹ
thuật số đầu vào
18 GPO2/INT Chân đầu ra mục đích chung/Yêu cầu ngắt
19 GPO1 Chân đầu ra mục đích chung
12, GND
PAD
GND Chân nối đất
Sơ đồ khối [18]:
Trang 30Hình 2.15: Sơ đồ khối chip Si4713 [18]
Trong đó:
- Khối AFC có chức năng điều khiển tần số sóng mang [7]
- Khối DSP cung cấp chức năng thay đổi điều chế và điều chỉnh âm lượng để
tối ưu chất lượng âm thanh [5]
- Khối ADC chuyển đổi tín hiệu tương tự thành tín hiệu số [13]
- Khối DAC chuyển đổi tín hiệu số thành tương tự [21]
- Khối LDO quản lý nguồn [12]
- Khối Control interface quản lý giao diện điều khiển
- Khối GPO RDS thiết lập chế độ làm việc của RDS
- Khối khuếch đại công suất dùng để tạo ra công suất cần thiết theo yêu cầu
- Mạch anten phối hợp trở kháng bức xạ năng lượng cao tần ra không gian
2.2.2 Các lệnh điều khiển và thông số đặc tính của chip Si4713
Trang 31Để dễ dàng cho việc phát triển và giảm thời gian hoàn thiện hệ thống Chip
Si4713 cung cấp các giao diện làm việc đơn giản sử dụng các dòng lệnh, đối số,
thông số đặc tính và các bản tin hồi đáp [18]
Để thực hiện một hành động, ta chỉ cần viết một dòng lệnh gửi đi dưới dạng
các byte dữ liệu tới IC Lệnh thực thi các hành động như khởi động thiết bị hoặc
thay đổi tần số phát… chứa các đối số, các đối số trong các lệnh có thể thay đổi để
thực hiện các chức năng khác nhau Ví dụ như với lệnh TX_TUNE_FREQ ta có thể
thay đổi đối số liên quan đến tần số gửi tới IC để yêu cầu IC phát đi tần số mong
muốn
Các thông số đặc tính là những lệnh đặc biệt dùng để sửa đổi các thông số
mặc định của chip, nó thường được cấu hình ngay sau khi bật nguồn
Các bản tin hồi đáp cung cấp cho người sử dụng thông tin phản hồi sau khi
thực hiện lệnh Tất cả các lệnh thực hiện đều có ít nhất một byte hồi đáp chỉ ra các
ngắt và thông tin sẵn sàng để nhận lệnh tiếp theo
Bảng 2.2 tổng hợp các lệnh điều khiển và bảng 2.3 tổng hợp các thông số đặc
tính phục vụ cho truyền FM/RDS [15]
Bảng 2.6: Các lệnh điều khiển chip Si4713
0x01 POWER_UP Khởi động thiết bị và chọn chế độ làm việc Chế
độ bao gồm truyền FM và cấu hình giao diện làm việc tương tự hoặc số
0x10 GET_REV Lấy thông tin phiên bản thiết bị
0x11 POWER_DOWN Tắt nguồn thiết bị
0x12 SET_PROPERTY Cài đặt thông số
0x13 GET_PROPERTY Lấy thông số
0x14 GET_INT_STATUS Đọc trạng thái ngắt
0x15 PATCH_ARGS Lệnh để tải bản tin vá lỗi
0x16 PATCH_DATA Lệnh để tải bản tin vá lỗi
Trang 320x30 TX_TUNE_FREQ Thiết lập tần số truyền
0x31 TX_TUNE_POWER Thiết lập công suất truyền
0x32 TX_TUNE_MEASURE Đo mức nhiễu nhận được tại một tần số xác định
0x33 TX_TUNE_STATUS Lấy thông tin tần số truyền, công suất truyền
0x34 TX_ASQ_STATUS Lấy trạng thái truyền và số liệu đầu vào âm thanh
0x35 TX_RDS_BUFF Lấy trạng thái của bộ nhớ RDS và nạp dữ liệu mới
vào bộ nhớ
0x36 TX_RDS_PS Thiết lập chuỗi ký tự PS
0x80 GPO_CTL Cài đặt GP03 là đầu ra hoặc Hi-Z
0x81 GPO_SET Cài đặt mức GP03 thấp hoặc cao
0x0201 REFCLK_FREQ Thiết lập tần số của xung clock đơn
vị Hz trong khoảng 31130 tới 34406
Kích hoạt truyền tín hiệu đa kênh
Mặc định truyền pilot và kênh L-R
0x1AA9
Trang 330x327C
0x2105 TX_LINE_INPUT_M
UTE
Thiết lập chế độ im lặng Mặc định không im lặng
0x0000
0x2C00 TX_RDS_INTERRUP
T_SOURCE
Thiết lập nguồn ngắt RDS Mặc định không lựa chọn
0x0000
Trang 340x2C01 TX_RDS_PI Thiết lập giá trị PI của RDS 0x40A7
0x2C02 TX_RDS_PS_MIX Thiết lập kết hợp RDS PS Group với
0x2C07 TX_RDS_FIFO_SIZE Số lượng block phục vụ cho FIFO 0x0000
Bảng 2.8: Dữ liệu phản hồi
Bảng 2.9: Ý nghĩa các bit dữ liệu phản hồi
7 CTS CTS = Clear to send
0 = Chờ trước khi gửi lệnh tiếp theo
1 = Sẵn sàng để gửi lệnh tiếp theo
6 ERR ERR = Error
Trang 351 ASQINT Signal Quality Interrupt
0 = Đo lường chất lượng tín hiệu không được kích hoạt
1 = Đo lường chất lượng tín hiệu được kích hoạt
0 STCINT Seek/Tune Complete Interrupt
0 = Chuyển kênh hoàn thành không được kích hoạt
1 = Chuyển kênh hoàn thành được kích hoạt
2.2.3 Thuật toán điều khiển phát FM/RDS
a) Quá trình khởi động
Reset thiết bị: đặt chân RST ở mức thấp để thiết lập lại các thanh ghi về mặc
định, sau đó kéo chân RST lên mức cao để đưa thiết bị thoát khỏi trạng thái reset và
đặt vào trạng thái chờ Trạng thái chờ sẽ giúp giảm năng lượng tiêu thụ, tắt hoạt
động các mạch số và tương tự và giữ bus giao tiếp ở trạng thái hoạt động [15]
Sử dụng lệnh POWER_UP 0x01 để kích hoạt trạng thái khởi động Sau khi
nhận được dữ liệu phản hồi, kiểm tra bit CTS được thiết lập Ta gửi lệnh
SET_PROPERTY 0x12 để đặt các thông số đặc tính của chip ở mặc định Tiếp theo
gửi lệnh 0x50 để thiết lập chế độ làm việc ở tương tự [15]
Trang 361 7 CTSIEN 0 = Ngắt CTS không sử dụng
1 6 GPO2OEN 0 = GPO2 không sử dụng (Hi-Z)
1 5 PATCH 0 = Khởi động bình thường
1 4 XOSCEN 1= Sử dụng bộ dao động nội
1 3:0 FUNC[3:0] 2 = Truyền sóng FM
2 7:0 OPMODE[7:0] 01010000 = Thiết lập đầu vào tương tự (LIN/RIN)
Khởi tạo các thông số cài đặt ban đầu:
Giá trị tần số REFCLK nằm trong khoảng 31130 tới 34406 Hz (32768
±5% Hz) thu được khi tần số RCLK đi qua bộ chia tần Ta thiết lập
giá trị REFCLK ở tần số mặc định 32.768 MHz bằng cách đặt giá trị
REFCLK_FREQ bằng 0x8000
Hình 2.16: Giá trị REFCLK tại đầu ra của bộ chia tần
Thiết lập pre-emphasis ở giá trị mặc định 75 µs bằng cách đặt giá trị
thanh ghi PROP_TX_PREEMPHASIS là 0x0000
Thiết lập âm lượng đầu ra ở mức 10 db (khoảng thiết lập có thể thay
đổi từ 0 tới 20 dB) bằng cách đặt giá trị thanh ghi
TX_ACOMP_GAIN là 0x000A
Tắt chế độ giới hạn âm thanh và bật chế độ thay đổi âm lượng bằng
cách đặt giá trị thanh ghi TX_ACOMP_ENABLE là 0x0
Trang 37Hình 2.17: Lưu đồ thuật toán của quá trình khởi động
b) Thiết lập kênh truyền
Thiết lập công suất phát sử dụng lệnh TX_TUNE_POWER 0x31 Mức công
suất phát đầu ra có thể cài đặt trong khoảng 88 dBµV tới 115 dBµV với bước thay
đổi 1 dB Lệnh này cũng dùng để thiết lập điện dung của anten tự động Bit CTS
được thiết lập khi quá trình hoàn thành và sẵn sàng cho lệnh tiếp theo Bit ERR
Trang 38được thiết lập nếu các đối số gửi bị lỗi Bit STCINT chỉ được thiết lập sau khi lệnh
GET_INT_STATUS được gọi [15]
ARG3 0x73 RFdBµV[7:0]: thiết lập công suất phát 115 dBµV
ARG4 0x00 ANTCAP[7:0]: Thiết lập điều chỉnh điện dung anten tự động
Thiết lập tần số sóng phát bằng lệnh TX_TUNE_FREQ 0x30, tần số trong
khoảng 76 tới 108 MHZ với bước thay đổi 50 kHz Bit CTS được thiết lập khi quá
trình hoàn thành và sẵn sàng cho lệnh tiếp theo Bit ERR được thiết lập nếu các đối
số gửi bị lỗi Bit STCINT chỉ được thiết lập sau khi lệnh GET_INT_STATUS được
ARG2 FREQH[7:0]: 8 bit cao của tần số thiết lập
ARG2 FREQL[7:0]: 8 bit thấp của tần số thiết lập
Sử dụng lệnh TX_TUNE_STATUS 0x33 để kiểm tra giá trị tần số
TX_TUNE_FREQ, công suất TX_TUNE_POWER, giá trị điện dung của anten
TX_TUNE_MEASURE Lệnh này xóa trạng thái bit STCINT khi bit INTACT của
ARG1 được thiết lập Bit CTS được thiết lập khi quá trình hoàn thành và sẵn sàng
cho lệnh tiếp theo [15]
Trang 39Hình 2.18: Lưu đồ thuật toán thiết lập kênh truyền
Lệnh điều khiển:
Trang 40Độ lệch tần số âm thanh có thể thiết lập trong khoảng 0 tới 90 KHz, với bước
thay đổi 10 Hz, giá trị mặc định là 6825 (68.25 KHz) [15] Ta thiết lập độ lệch tần
số âm thanh là 66.25 KHz Giá trị thanh ghi TX_AUDIO_DEVIATION tại địa chỉ
0x2101 là 0x19E1 (6625)
Độ lệch tần số RDS có thể thiết lập trong khoảng từ 0 tới 7.5K, với bước
thay đổi 10 Hz [15] Thiết lập thanh ghi TX_RDS_DEVIATION tại địa chỉ 0x2103
giá trị mặc định là 0x00C8 (200Hz)
Thiết lập ngắt khi bộ đệm RDS group FIFO ở trạng thái trống hay khi group
cuối cùng ra khỏi FIFO Thiết lập thanh ghi TX_RDS_INTERRUPT_SOURCE tại
địa chỉ 0x2C00 giá trị 0x0001
Thiết lập RDS PI code để truyền block A và block C (đối với group loại B)
Thanh ghi TX_RDS_PI tại địa 0x2C01 được thiết chỉ lập giá trị 0xADAF
Thiết lập tỉ lệ RDS PS và số vòng lặp buffer trên các group FIFO Thanh ghi
TX_RDS_PS_MIX tại địa chỉ 0x2C02 được thiết lập giá trị mặc định 0x0003 (gửi
RDS PS trong 50% thời gian)