Codec âm thanh CS4218-KQ [3, 5]

Một phần của tài liệu Xử lý tín hiệu thời gian thực bằng phương pháp số trên môi trường phát triển ứng dụng DSP56307EVM áp dụng trong các hệ định vị vô tuyế (Trang 77)

Hình 31. Sơ đồ khối CODEC CS4218-KQ

DSP56307EVM sử dụng chip CS4218-KQ, có 2 kênh biến đổi A/D 16-bit và 2 kênh biến đổi D/A 16-bit. CS4218-KQ sử dụng nguồn số 3.3V và nguồn analog 5V.

Tần số lấy mẫu của CS4218-KQ được sử dụng linh hoạt thông qua khối Jum J9, tần số từ 8KHz đến 48 KHz.

Bảng 19. Chọn tần số mẫu trên khối Jum J9

CS4218-KQ được nối tới giao diện ESSI0, ESSI1 của DSP56307 thông qua các khối Jum J4 và J5.

Khối Jum J4 nối các chân ESSI1với cácchân điều khiển của CS4218-KQ. Khối Jum J5 nối các chân ESSI0 với các chân dữ liệu của CS4218-KQ.

Chế độ hoạt động của CODEC được thiết lập bằng cách đưa các chân xác định lên mức cao hay mức thấp, điển hình như các chân SMODE1, SMODE2, SMODE3. Chế độ mà môđun DSP56307 được đặt về mặt vật lý là chế độ nối tiếp 4 (SM4). Trong chế độ này từ điều khiển và từ dữ liệu được tách biệt để giảm dải thông của các cổng nối tiếp và làm đơn giản hoá các thủ tục.

Trong chế độ SM4 có 4 chế độ con. Chế độ con thứ hai mang 2 thông tin: CODEC hoạt động ở chế độ chính hay chế độ phụ và số lượng bít trên mỗi khung. Với board DSP56307EVM đề cập đến trong tài liệu này chế độ 2 được cấu hình vật lý với chế độ con 0 để CODEC đóng vai trò như chế độ chính và được đặt kích cỡ khung là 32 bit. Khi làm việc trong chế độ chính CODEC gửi xung clock dịch bít nối tiếp và xung đồng bộ khung để chỉ ra thời điểm bắt đầu và kết thúc mỗi khung dữ liệu. Thêm vào đó trong chế độ con 0 mỗi khung bao gồm 2 từ 16 bit là từ 16 bit trái và từ 16 bit phải. Các từ này được gửi tới và từ CODEC với bit MSB trước tiên. Các tính chất được định nghĩa trong các chế độ

con được áp dụng đối với cả dữ liệu đến CODEC (SDIN) và dữ liệu đi ra khỏi CODEC (SDOUT).

Từ điều khiển được gửi tới CODEC trên các đường riêng biệt với đường dữ liệu. Mặc dù có tới 31 bit được dành cho từ điều khiển song chỉ có 23 bit được sử dụng, 8 bit còn lại được xoá về không

Hình 32. Định dạng dữ liệu CODEC 7.3.1 Codec vào/ra tương tự

DSP56307EVM gồm các Jack 1/8” cho tín hiệu âm thanh vào/ra

Hình 33. Sơ đồ codec vào/ra tương tự 7.3.2 Giao diện số Codec

Hình 34. Giao diện kết nối Codec CS4218 với DSP56307

Việc kích hoạt hay làm mất chức năng của giao diện này với bộ xử lý DSP56307 thông qua các khối Jum J4, J5.

Khối Jum J5 Chân trên DSP Chân trên Codec

1 - 2 SCK0 SCKL 3 - 4 SC00 RESET 5 - 6 STD0 SDIN 7 - 8 SRD0 SDOUT 9 - 10 SC01 - 11 - 12 SC02 SSYNC

Bảng 20. Chức năng khối jum J5

Khối Jum J4 Chân trên DSP Chân trên Codec

1 - 2 SCK1 - 3 - 4 SC10 CCS 5 - 6 STD1 - 7 - 8 SRD1 - 9 - 10 SC12 CDIN 11 - 12 SC11 CCLK

Bảng 21. Chức năng của khối jum J4

Giao diện nối tiếp của codec truyền tín hiệu số của cả dữ liệu âm thanh và dữ liệu điều khiển. Codec liên kết dữ liệu với DSP56307 thông qua giao diện ESSI0, liên kết điều khiển thông qua giao diện ESSI1. Codec có 3 chế độ hoạt

động truyền dữ liệu nối tiếp SMODE1, SMODE2, SMODE3. Các chân SMODE trên DSP56307EVM được chọn để kích hoạt chế độ nối tiếp 4, chia tín hiệu thành dữ liệu âm thanh và dữ liệu điều khiển. Các chân SMODE cũng được sử dụng để kích hoạt chế độ chủ khung 32-bit, 16-bit đầu được chọn kênh trái và 16-bit còn lại được chọn cho kênh phải.

Chân STD0 của giao diện ESSI0 của DSP56307 truyền dữ liệu tới chân SDIN của codec, chân SRD0 nhận dữ liệu từ SDOUT codec. Trong chế độ chủ, châ xung nhiệp nối tiếp của codec SCKL cung cấp tốc độ xung nhịp cho giao diện ESSI0, chân xung nhịp nối tiếp nhị phân (SCK0) của DSP56307. Chân điều khiển nối tiếp 0 (SC00) của DSP56307 được lập trình để điều khiển chân RESET

của codec. Chân điều khiển nối tiếp 2 (SC02) được nối tới chân tín hiệu đồng bộ cổng nối tiếp (SSYNC). Khi một sườn lên kích hoạt lên SSYNC chỉ rằng có một khung mới bắt đầu.

Các chân ESSI1 của DSP56307 được sử dụng như những giao diện vào/ra đa chức năng, truyền dữ liệu điều khiển cho codec. Dữ liệu điều khiển chỉ được truyền khi cần có sự thay đổi. Chân điều khiển nối tiếp 0 (SC10) của DSP56307 có thể được lập trình để điều khiển chân 4 đa năng, hoặc điều khiển chân chọn chip dữ liệu MF4/CCS, chân này phải ở mức thấp cho dữ liệu điều khiển vào. Chân điều khiển nối tiếp 1 (SC11)của DSP56307 được nối tới chân 3 đa năng hoặc chân xung nhịp dữ liệu điều khiển MF3/CCLK. Dữ liệu điều khiển được đặt ở sườn lên của xung CCLK . Cổng điều khiển nối tiếp 2 (SC12) được nối tới chân 2 đa năng hoặc chân đầu vào dữ liệu điều khiển MF2/CDIN. Chân này bao gồm dữ liệu điều khiển cho chân codec

7.4 Bộ chuyển đổi lệnh

DSP56307EVM sử dụng DSP56002 để thực hiện chuyển đổi lệnh JTAG/OnCE. Giao diện truyền tin nối tiếp (SCI) của DSP56002 trao đổi thông tin với máy tính thông qua giao diện RS-232. SCI của DSP56002 nhận lệnh từ máy tính. Tập lệnh có thể bao gồm đọc dữ liệu, ghi dữ liệu, khởi động lại module OnCE, khởi động

lại DSP56307, yêu cầu module OnCE, hoặc giải phóng module OnCE. Phần mềm chuyển đổi lệnh DSP56002 dịch các lệnh nhận được từ máy tính và gửi một chuỗi các lệnh tới cổng JTAG/OnCE của DSP56307. DSP56307 có thể tiếp tục nhận dữ liệu hoặc có thể truyền dữ liệu ngược lại DSP56002. DSP56002 gửi một phản hồi thông tin trạng thái tới máy tính. Các phản hồi có thể thành công tốt, thất bại, trong chế độ gỡ rối, thoát khỏi chế độ gỡ rối hoặc đọc dữ liệu. Khi DSP56307 ở trạng thái gỡ rối thì LED2 sáng.

DSP56002 nối tới cổng JTAG/OnCE của DSP56307 thông qua Jum trên J8.

J8 Chức năng

1 - 2 Kích hoạt chuyển đổi lệnh trên board mở Mất khả năng chuyển đổi lệnh trên board

Bảng 22. Chức năng Jum J8

Hình 35. Kết nối giữa DSP với máy tính qua giao diện RS-232

Chân Tín hiệu DSP 1 - 2 TxD 3 RxD 4 RESET 5 GND 6 - 9 - Bảng 23. Chân RS-232 với DSP56002 Chân TxD của DSP56002 truyền dữ liệu tới chân RD của máy tính Chân RxD của DSP56002 nhận dữ liệu từ chân TD của máy tính

DSP56307EVM cho phép nối tới một card chuyển đổi lệnh trực tiếp thông qua bộ jum J6 tức khi đó jum J8 được gỡ ra

Chân Tín hiệu DSP Chân Tín hiệu DSP

1 TDI 2 GND 3 TDO 4 GND 5 TCK 6 GND 7 - 8 KEY-PIN 9 RESET 10 TMS 11 +3.3V 12 - 13 DEZ 14 TRST

Bảng 24. Kết nối khối jum J6 với cáp của card chuyển đổi lệnh trực tiếp 7.5 Các giao diện off-board

DSP56307EVM cung cấp các giao diện với các thiết bị off-board thông qua các cổng ngoại vi on-chip của nó. Hầu hết các cổng được nối tới đầu ra trên board EVM để dễ dàng gắn trực tiếp tới các chân bằng cách sử dụng các đầu nối hoặc jum.

7.5.1 Giao diện truyền tin nối tiếp (SCI)

Cổng SCI (Serial Comunication Interface) được thực hiện thông qua jum J7. Các tín hiệu +3.3V ở J7 được trực tiếp lấy từ DSP.

Chân Tín hiệu DSP Chân Tín hiệu DSP

1 RxD 2 -

3 SCLK 4 -

5 TxD 6 -

Bảng 25. Đầu nối chân ra của giao diện SCI

J7 Tín hiệu DSP

1 - 2 RxD

3 - 4 SCLK

Bảng 26. Jum J7

Chân Tín hiệu DSP Chân Tín hiệu DSP

1 - 6 -

2 TxD 7 SCKL

3 RxD 8 -

4 RESET 9 -

5 GND

Bảng 27. Đầu nối cổng nối tiếp DSP (P1) 7.5.2 Cổng nối tiếp tăng cường (ESSI)

Mođun DSP56307 của Motorola có 2 cổng ESSI (enhanced synchornous serial interface) là ESSI0 và ESSI1, đó là một trong những cổng cho phép giao tiếp với thiết bị ngoại vi ngoài. Mỗi cổng bao gồm 6 chân cho phép thực hiện các chức năng khác nhau phụ thuộc vào chúng được cấu hình như thế nào. Mỗi cổng ESSI có thể đóng vai trò như cổng ESSI hoặc cổng GPIO(General-Purpose Input/Output)

Cổng ESSI hoạt động trong chế độ ESSI cho phép đồng bộ các lệnh với xung nhip đồng hồ chính. Thêm vào đó, hoạt động điều khiển và hướng truyền dữ liệu được tự động thiết lập. Khi cổng ESSI hoạt động trong chế độ GPIO cần thiết phải chỉ rõ dữ liệu được truyền như thế nào và hướng của dữ liệu cần truyền. Điều khó khăn khi hoạt động trong chế độ GPIO là phải hiểu xuyên suốt được cách sử dụng của cổng GPIO để có thể lập trình chúng

Các chân ESSI/GPIO

Cổng ESSI sử dụng 6 chân để truyền thông tin. Ta có thể cấu hình mỗi chân để chúng đóng vai trò như trong chế độ ESSI hoặc GPIO bằng cách chỉnh sửa thanh ghi điều khiển cổng

Tên chân Chức năng

Điều khiển nối tiếp 0(SC0/PC0) Có nhiều chức năng phụ thuộc vào cách đặt thanh ghi điều khiển

đặt thanh ghi điều khiển

Điều khiển nối tiếp 2(SC2/PC2) Có nhiều chức năng phụ thuộc vào cách đặt thanh ghi điều khiển

Xung đồng hồ nối tiếp (SCK/PC3)

Cung cấp hoặc nhận xung clock nối tiếp Dữ liệu thu nối tiếp(SRD/PC4) Thu dữ liệu nối tiếp

Dữ liệu phát nối tiếp(STD/PC5) Phát dữ liệu nối tiếp Bảng 28. Các chân ESSI Cổng nối tiếp tăng cường 0 (ESSI0).

Cổng ESSI0 có thể được thiết lập bởi khối jum J5

Chân Tín hiệu DSP Chân Tín hiệu DSP

1 SCk0 2 - 3 SC00 4 - 5 STD0 6 - 7 SRD0 8 - 9 SC01 10 - 11 SC02 12 -

Bảng 29. Chân đấu nối ESSI0 (J5) Cổng nối tiếp tăng cường 1 (ESSI1).

Cổng ESSI1 của DSP được thiết lập bởi khối jum J4.

Chân Tín hiệu DSP Chân Tín hiệu DSP

1 SCk1 2 - 3 SC10 4 - 5 STD1 6 - 7 SRD1 8 - 9 SC12 10 - 11 SC11 12 -

Bảng 30. Chân đấu nối ESSI1 (J4) Các thanh ghi của cổng ESSI

Trong cả chế độ ESSI lẫn GPIO, có các thanh ghi xác định được sử dụng trong mỗi chế độ ngoại trừ hai thanh ghi xác định xem cổng ESSI nào được sử dụng là thanh ghi điều khiển cổng C(PCRC) và thanh ghi điều khiển cổng D(PCRD). Thanh ghi điều khiển cổng C cài đặt chức năng của cổng ESSI0 còn thanh ghi điều khiển cổng D cài đặt chức năng của cổng ESSI1. Đặt các bit tương ứng trong thanh ghi điều khiển cổng lên 1 để cấu hình các chân hoạt động ở chế độ ESSI. Xoá các bit tương ứng về 0 để cấu hính các chân hoạt động trong chế độ GPIO, mỗi chân được cấu hình riêng rẽ để hoạt động trong chế độ ESSI hay GPIO.

Tên thanh ghi Chức năng

Thanh ghi điều khiển cổng C(PCRC)

Điều khiển cổng ESSI0 hoạt động trong chế độ ESSI hay GPIO

Thanh ghi điều khiển cổng D(PCRD)

Điều khiển cổng ESSI1 hoạt động trong chế độ ESSI hay GPIO

Bảng 31. Các thanh ghi chung cổng ESSI/GPIO

Tên thanh ghi Chức năng

Thanh ghi điều khiển A(CRA) Điều khiển hoạt động của chế độ ESSI Thanh ghi điều khiển B(CRB) Điều khiển hoạt động của chế độ ESSI Thanh ghi trạng thái(SSISR) Miêu tả trạng thái và các cờ nối tiếp Thanh ghi mặt nạ khe thời gian phát

A(TSMA)

Xác định xem khi nào thì phát trong khe thời gian cho trước

Thanh ghi mặt nạ khe thời gian phát B(TSMB)

Xác định xem khi nào thì phát trong khe thời gian cho trước

Thanh ghi mặt nạ khe thời gian thu A(RSMA)

Xác định xem khi nào thì thu trong khe thời gian cho trước

Thanh ghi mặt nạ khe thời gian thu B(RSMB)

Xác định xem khi nào thì thu trong khe thời gian cho trước

Thanh ghi khe thời gian(TSR) Ngăn không cho truyền dữ liệu trong khe thời gian

Thanh ghi nhận dữ liệu(RX) Thanh ghi chỉ đọc để thu dữ liệu

Thanh ghi phát dữ liệu 1(TX1) Thanh ghi truyền dữ liệu cho kênh phát 2 Thanh ghi phát dữ liệu 2(TX2) Thanh ghi truyền dữ liệu cho kênh phát 3

Bảng 32. Các thanh ghi ESSI

Tên thanh ghi Chức năng

Thanh ghi hướng truyền cổng C(PRRC) Điều khiển hướng truyền dữ liệu truyền của cổng ESSI0 trong chế độ GPIO Thanh ghi hướng truyền cổng D(PRRD) Điều khiển hướng truyền dữ liệu truyền

của cổng ESSI1 trong chế độ GPIO Thanh ghi dữ liệu cổng C(PDRC) Lưu trữ dữ liệu thu hoặc phát qua cổng

ESSI0 trong chế độ GPIO

Thanh ghi dữ liệu cổng D(PDRD) Lưu trữ dữ liệu thu hoặc phát qua cổng ESSI1 trong chế độ GPIO

Bảng 33. Các thanh ghi GPIO

Sau khi các chân được cài đặt hoạt động trong chế độ GPIO, hướng truyền dữ liệu phải được thiết lập để chỉ ra cổng ESSI phát dữ liệu hay thu dữ liệu. Xoá các bit tương ứng trong thanh ghi hướng truyền cổng C để cấu hình chân GPIO là chân thu, đặt các bit lên 1 cấu hình chân GPIO là chân phát. Để thu hoặc phát dữ liệu trong chế độ GPIO sử dụng các thanh ghi dữ liệu cổng. Nếu các chân đóng vai trò là chân thu thì giá trị ở các chân sẽ được truyền vào chân đó. Nếu các chân đóng vai trò là chân phát thì giá trị ở các chân sẽ là giá trị phát đi.

7.5.3 Cổng HI08

Cổng HI08 của DSP được thiết lập bởi khối jum J3

Chân Tín hiệu DSP Chân Tín hiệu DSP

1 H0 2 H1 3 H2 4 H3 5 H4 6 GND 7 H5 8 H6 9 H7 10 RESET 11 HA0 12 HA1

13 HA2 14 HCS

15 HREQ 16 HDS

17 +3.3V 18 HACK

19 HRW 20 GND

Bảng 34. Chân đầu nối HI08 7.5.4 Điều khiển Bus mở rộng

Các tín hiệu điều khiể Bus mở rộng có thể được tạo bởi khối jum J2

Chân Tín hiệu DSP Chân Tín hiệu DSP

1 +3.3V 2 RD 3 WR 4 BG 5 BB 6 BR 7 TA 8 BCLK 9 BCLK 10 CAS 11 CLKOUT 12 AA1 13 AA0 14 AA2 15 AA3 16 GND Bảng 35. Jump J2 7.5.5 Chọnchế độ

Chọn chế độ khởi động cho DSP56307 được thực hiện bởi khối jum J1

Chế độ J1 Chế độ khởi động được chọn

D 1-2 C 3-4 B 5-6 A 7-8

8 Jum Jum Jum Nhảy tới chương trình ở $008000

9 Jum Jum Khởi động từ bộ nhớ byte rộng

10 Jum Jum Khởi động từ SCI

12 Jum Jum HI08 khởi động trong chế độ

ISA/DSP5630x

13 Jum HI08 khởi động trong chế độ bus

không phức hợp HC11

14 Jum HI08 khởi động trong chế độ bus

15 HI08 khởi động trong chế độ bus MC68302

Chương 8 Ngôn ngữ lập trình và phần mềm hỗ trợ [3]

Board mạch DSP56307EVM tương thích với các ngôn ngữ viết bằng asambly, C, C++, Matlab... Chương trình nguồn *.asm, *.c, *.c++ ... Chương trình dịch tương ứng Các file *.cln Trình liên kết (Linker) Các file thực hiện *.cld DSP56002 DSP56307 DSP56307EVM Card biến đổi lệnh

Hình 36. Quá trình của một chương trình chạy trên DSP56307EVM

Trong luận văn này chương trình được viết bằng ngôn ngữ asambly, với trình dịch

asm56300 được Motorola phát triển, kèm theo chương trình gỡ rối Evm30xw được thiết kế với giao diện thân thiện với người dùng.

8.1 Chương trình Asambly Các trường trên một dòng lệnh gồm Các trường trên một dòng lệnh gồm

Trường nhãn (Label): là trường đầu tiên của một dòng lệnh. Chương trình có thể nhảy tới nhãn mà không cần viết lại cả dòng lệnh.

Trường lệnh (Operation): Là một mã lệnh, một hướng dẫn, hay gọi macro đeer thực thi lệnh.

Trường toán hạng (Operand): trình bày trường toán hạng tuỳ thuộc vào nội dung của nó.

Trường chuyển dữ liệu (Data transfer): hầu hết các mã lệnh chỉ rõ một hoặc nhiều dữ liệu được truyền xuất hiện trong quá trình thực thi lệnh.

Trường ghi chú (Coment): thường được đứng sau dấu ”;” , chỉ mang tính giải thích cho người dùng mà không được thực hiện trong hàng lệnh.

Hình 37. Một chương trình nguồn được viết bằng Notepad

Một phần của tài liệu Xử lý tín hiệu thời gian thực bằng phương pháp số trên môi trường phát triển ứng dụng DSP56307EVM áp dụng trong các hệ định vị vô tuyế (Trang 77)

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

(139 trang)