Đầu vào nối tiếp gỡ rối / Trạng thái chip 0 DSI/OS0: Dữ liệu nối tiếp hoặc lệnh được cung cấp từ bộ điều khiển Once qua chânDSI/OS0 khi nó là một đầu vào, khi chân DSI/OS0 là đầu ra nó
Trang 1có thể xem là một bước đột phá trên tất cả các lĩnh vực trong cuộc sống của chúng
ta Do đó vấn đề nghiên cứu các phương pháp nhận dạng tiếng nói là một vấn đề đã
và đang thu hút rất nhiều sự đầu tư và nghiên cứu của các nhà khoa học trên khắpthế giới Tuy nhiên cho đến nay kết quả mang lại còn rất hạn chế vì sự phức tạp củatiếng nói con người
Đối với nước ta, vấn đề nhận dạng tiếng nói đang ở trong giai đoạn đầu và
các kết quả đạt được cho đến nay vẫn còn khiêm tốn Luận văn này nghiên cứu thử nghiệm một hướng nhận dạng tiếng nói dựa trên đặc trưng ngữ âm quan trọng của tiếng nói là formant Công cụ toán học có thể sử dụng là phép phân tích Fourier thời gian ngắn STFT(Short Time Fourier Transform) Nhận dạng
tiếng nói là bộ phận nòng cốt trong bộ điều khiển tiếng nói cần thiết kế
II Những nội dung chính của luận văn:
Các chương 2, 3, 4, 5, 6 giới thiệu về xử lý tín hiệu số DSP56002, bộ giaotiếp âm thanh đa năng Codec 4215, bộ nhớ mở rộng, mạch giao tiếp và điều khiển.Chương 2 giới thiệu tổng quát về bộ xử lý tín hiệu số DSP56002 Tiếp đến Chương
3 mô tả cụ thể các chức năng của DSP56002 bao gồm: cấu trúc và các chế độ địnhđịa chỉ của DSP56002; các thanh ghi trong và chế độ hoạt động của các PORT củaDSP56002 Chương 4 mô tả tập lệnh xử lý tín hiệu số DSP56002 Chương 5 giớithiệu về CODEC giao tiếp âm thanh đa năng CS4215, bộ đồng bộ giao tiếp nối tiếp(SSI) của bộ xử lí DSP56002 được sử dụng để thích nghi với sự truyền dữ liệu nốitiếp từ hai bộ chuyển đổi A/D của CS4215 đến DSP56002 và từ DSP56002 đến hai
bộ chuyển đổi D/A của CS4215 Chương 6 mở rộng bộ nhớ cho DSP56002;chương này sẽ trình bày về sơ đồ mạch của DSP56002EVM, bộ nhớ mở rộng, sơ
đồ điều khiển động cơ DC và các linh kiện sử dụng trong mạch Các chương sau
sẽ giới thiệu về các công cụ toán học và phương pháp nhận dạng tiếng nói Chương
7 giới thiệu về phép biến đổi Fourier với tín hiệu liên tục và rời rạc, và giới thiệuphương pháp biến đổi nhanh Fourier FFT thực hiện trên DSP56002 sử dụng giảithuật phân chia theo thời gian DIT (decimation-in-time) Tiếp theo Chương 8 trìnhbày phép tổng quát về biến đổi Fourier thời gian ngắn STFT Cuối cùng là Chương
Trang 29 sẽ tập trung vào phép biến đổi Fourier thời gian ngắn để trích formant của tínhiệu, Sau khi trích formant của tín hiệu sẽ sử dụng phương pháp kết hợp mẫu đểnhận dạng tiếng nói
III Kết luận sơ bộ:
Luận văn đã thực hiện được việc :mở rộng bộ nhớ cho DSP56002, nhận dữliệu âm thanh từ ngoài qua giao tiếp SSI giữa DSP56002 và CS4215, thực hiệntrích formant của tín hiệu tiếng nói dùng giải thuật STFT Cuối cùng là đã thực hiệnđược việc nhận dạng tiếng nói và ứng dụng để điều khiển
hệ thống xử lí tín hiệu số thời gian thực
Họ xử lí DSP56000 được tạo thành từ một bộ chip vi xử lí tín hiệu số bit, hiệu suất cao và một vùng mở rộng Trong vùng mở rộng, chip có thể trợ giúpcấu hình cho các thiết bị bộ nhớ và ngoại vi thay đổi tùy theo loại trong họ
DSP56002 là một loại trong họ xử lí DSP56000 bao gồm bộ phận chính xử lítín hiệu số tương thích vơí họ 56000, được nạp bằng RAM chương trình trênchip, có 2 RAM dữ liệu độc lập, 2 ROM dữ liệu với các bảng sine, µ-law va A-law DSP56002 chứa bộ giao tiếp truyền thông nối tiếp, giao tiếp chủ song song,
bộ đếm thời gian/sự kiện, bộ vòng khóa pha, một cổng mô phỏng trên chip
Bộ xử lí DSP56002 cung cấp các đặc trưng phong phú trong việc xử lí tínhiệu số
DSP56002
24 bit
DSP56000Family manual
#DSP56KFAMUM/AD
DSP56002Technical data
#DSP56002/D
DSP56002User’s Manual
#DSP56002UM/AD
Trang 3DSP56002 Technical Literature
I.KHỐI TRUNG TÂM XỬ LÍ TÍN HIỆU SỐ
1.Những bộ phận chính:
1.1.Ba đơn vị thực thi độc lập:
• Đơn vị dữ liệu số học logic
• Đơn vị cấp phát địa chỉ(AGU)
• Đơn vị điều khiển chương trình1.2.Bốn bus dữ liệu 24 bit độc lập:
• Bus dữ liệu X (XDB)
• Bus dữ liệu Y (YDP)
• Bus dữ liệu chương trình (PDB)
• Bus dữ liệu toàn cục (GDB)
1.3.Ba bus địa chỉ 16 bit độc lập:
• Bus địa chỉ X (XAB)
• Bus địa chỉ Y (YAB)
• Bus địa chỉ chương trình (PAB)
1.4.Cổng mở rộng bộ nhớ (Port A)
1.5.Mạch mô phỏng trên chip (OnCE)
1.6.Vòng khóa pha (PLL)
2.Đặc điểm chính của DSP56002:
40 triệu lệnh/giây (MIPS) tại tần số 80Mhz
240 triệu phép xử lí /giây (MOPS) tại tần số 80Mhz
Thực hiện lệnh song song với chế độ định địa chỉ
Nhân tích lũy song song 24x24 bit trong 1 chu kỳ lệnh (2 chu kỳxung clock)
Đặt zero ở mỗi đầu dòng lặp DO
Các ngắt tự động trở về rất nhanh
Thiết kế CMOS tiêu thụ công suất thấp
Chế độ treo(standby) tiêu thụ công suất thấp cho STOP và WAIT
Trang 4• Giao tiếp chủ độ rộng byte bằng phương pháp DMA
• Cổng giao tiếp nối tiếp đồng bộ (SSI)
• Cổng giao tiếp nối tiếp bất đồng bộ(SCI)
B.GIỚI THIỆU DSP56002EVM
DSP56002EVM là công cụ phần cứng dành cho việc thiết kế, sữa lỗi và đánhgiá hệ thống căn bản của DSP56002 Bao gồm ba bộ phận quan trọng:
Trang 5• Mạch đánh giá DSP56002 chứa bộ xử lí DSP56002, bộ nhớ mở rộngoff-chip, bộ biến đổi stereo A/D và D/A, mạch giao tiếp và điều khiển, và nhiềuđường nối dành cho truy xuất ngoài.
•Trình biên dịch Motorola
•Cửa sổ giao diện của phần mềm debug EVM
Phần mềm chạy trong MS-DOS và nối liền với EVM qua port nối tiếp
RS-232 Người sử dụng phải cung cấp nguồn 7→9V AC và DC, 700mA và cáp
RS-232 với 9 bus dữ liệu
C.GIỚI THIỆU TỔNG QUÁT CÁC CHÂN:
Error: Reference source not found
RS-232
MC68705 MCU
FLASH EEPROM
32Kx24 SDRAM
DSP56002
STEREO A/D-D/A A/D –D/A
SSI
SC I RS-232
OnCEPORT MÁY
TÍNH
Trang 6Port A Address
Interrupt/
Mode Control
Timer/
Event Counter
HO-H7/PB0-PB7 HA0-HA2/PB8-PB10
12 PB / HEN
13 PB / HREQ
11 PB / W / HR
14 PB / HACK
RXD/PC0 TXD/PC1 SCLK/PC2 SC0-SC2/PC3-PC5 SCK/PC6
SRD/PC7 STD/PC8
DSCK/OS1 DSI/OS0 DSO
PCAP CKP PLOCK DR
PINIT CKOUT
Port B Host
Port C SSI
OnCE
PLL
Bus Control
Clock Oscillator
VCC GND
Power Ground
MÔ TẢ CHÂN DSP 56002
1.Các tín hiệu cổng A:
Các tín hiệu cổng A được chia thành ba nhĩm chức năng:
•Bus địa chỉ (A0-A15)
•Bus dữ liệu (D0-D23)
• Bus điều khiển Các tín hiệu điều khiển cĩ thể chia thành 3 nhĩm nhỏ:
Điều khiển ghi đọc (RD~/WR~)
Trang 7 Lựa chọn không gian địa chỉ (bao gồm chọn bộ nhớ chương trình PS~, chọn bộ nhớ dữ liệu DS~, chọn X/Y~).
Điều khiển truy xuất (BN~, BR~, BG~,WT~, BS~)
2.Điều khiển chế độ ngắt:
2.1 Chế độ A / Yêu cầu ngắt ngoài A / Lấy lại STOP:
Đầu vào này có ba chức năng Nó làm việc với các chân MODB vàMODC để chọn chế độ hoạt động của chip, nó nhận một yêu cầu ngắt từ bênngoài, nó bật bộ phát xung nhip bên trong, khiến chip khôi phục từ trạng thái xử lídừng
2.2 Chọn chế độ B / Yêu cầu ngắt ngoài B:
Chân vào này làm việc với các chân MODA và MODC để chọn chế độhoạt động của chip, nó nhận một yêu cầu ngắt từ bên ngoài
2.3 Chọn chế độ C / Yêu cầu ngắt không che:
Chân này làm việc với các chân MODA và MODB để chọn chế độ hoạtđộng của chip, nó thu một yêu cầu ngắt từ bên ngoài
2.4 Reset (RESET):
Chân vào Schmitt trigger được dùng để reset DSP56002 Khi reset đượctác động DSP được khởi động và đặt trong trạng thái reset Khi chân reset khôngđược tác động chip ghi trạng thái các chân chế độ (MODA, MODB, MODC ) vàothanh ghi chế độ hoạt động của chip
3.Năng lượng và xung nhịp:
3.1 Nguồn điện (VCC) , đất (GND):
Có 6 cặp chân nguồn và đất dùng cho các chức năng: logic nội, bộ đệmngỏ ra bus địa chỉ, dữ liệu, cổng B và C, Once, PLL, chân CKOUT
3.2 Xung nhịp ngoài / Đầu vào tinh thể (EXTAL):
Đầu vào EXTAL giao tiếp bộ dao động tinh thể bên ngoài hoặc bên trong
3.3 Đầu ra tinh thể (XTAL):
Đầu ra này nối với chân ra của bộ dao động tinh thể bên trong với một tinhthể bên ngoài
4.Giao tiếp chủ:
4.1 Bus dữ liệu chủ (H0-H7):
Bus dữ liệu hai hướng này truyền dữ liệu giữa bộ giao tiếp chủ vàDSP56002 Nó hoạt động như một ngỏ vào trừ khi chân HENđược tác động tíchcực và HR/W ở mức cao khiến cho H0-H7 trở thành ngỏ ra và cho phép bộ giaotiếp chủ đọc dữ liệu DSP56002
4.4 Chủ yêu cầu (HREQ):
Trang 8Tín hiệu ra cực máng hở này được sử dụng bởi giao tiếp chủ để yêu cầuphục vụ từ bộ xử lí chủ, bộ điều khiển DMA, hoặc một bộ điều khiển bên ngoàiđơn giản.
Đầu ra này phát dữ liệu nối tiếp từ thanh ghi dịch phát SCI.
5.3 Xung nhịp nối tiếp (SCLK):
Chân hai hướng này cung cấp xung nhịp vào hoặc ra từ nơi mà tốc độbaud phát và/hoặc thu được lấy ra trong chế độ bất đồng bộ, và từ nơi mà dữ liệuđược truyền trong chế động bộ
6.Giao tiếp nối tiếp đồng bộ(SSI):
6.1 Xung nhịp nối tiếp 0 (SC0):
Chức năng chân hai hướng này được xác định bởi việc SCLK ở chế độđồng bộ Ở chế độ đồng bộ, chân này được sử dụng cho cờ nối tiếp nhận Trongchế độ bất đồng bộ, chân này thu xung nhịp xuất nhập
6.2 Điều khiển nối tiếp 1 (SC1):
SSI sử dụng chân hai hướng này để điều khiển cờ hoặc sự đồng bộ khung
6.3 Điều khiển nối tiếp 2 (SC2):
SSI sử dụng chân hai hướng này để điều khiển sự đồng bộ khung
6.4 Xung nhịp nối tiếp SSI (SCK):
Chân hai hướng này cung cấp xung nhịp tốc độ bit nối tiếp cho SSI chỉ khi
có một xung nhịp đang được sử dụng
6.5 Dữ liệu thu SSI (SRD):
Chân vào này thu dữ liệu nối tiếp vào thanh ghi dịch thu SSI
6.6 Dữ liệu phát SSI(STD):
Chân ra này phát dữ liệu nối tiếp từ thanh ghi dịch phát SSI
7.Các chân mô phỏng trên chip:
7.1 Đầu vào nối tiếp gỡ rối / Trạng thái chip 0 (DSI/OS0):
Dữ liệu nối tiếp hoặc lệnh được cung cấp từ bộ điều khiển Once qua chânDSI/OS0 khi nó là một đầu vào, khi chân DSI/OS0 là đầu ra nó làm việc với chânOS1 để cung cấp thông tin trạng thái chip
7.2 Xung nhịp nối tiếp gỡ rối / trạng thái chip 1 (DSCK/OS1):
Chân DSCK/OS1 cung cấp xung nhịp nối tiếp đến Once khi nó là một đầuvào Khi là một đầu ra, cùng với chân OS0 chúng cung cấp thông tin trạng tháichip
7.3 Đầu ra nối tiếp gỡ rối (DS0):
DSP đọc dữ liệu nối tiếp từ Once thông qua chân ra DS0 khi được chỉ địnhbởi lệnh sau cùng thu từ bộ điều khiển lệnh bên ngoài
7.4 Đầu vào yêu cầu gỡ rối (DR):
Trang 9Đầu vào này cho phép người sử dụng vào chế độ gỡ rối từ bộ điều khiểnlệnh bên ngoài
8.7 Điều khiển phân cực CKOUT(CKP):
Chân vào này định nghĩa sự phân cực của đầu ra xung nhịp CKOUT
8.8 Đầu vào khởi động PLL(PINIT):
Trong suốt thời gian Reset phần cứng hoạt động và nạp giá trị chân PINITvào bit PEN của thanh ghi điều khiển PLL
8.9 Khóa tần số và pha(PLOCK):
Đầu ra PLOCK được phát sinh từ bộ phát hiện pha, khi PLL khóa các tần
số và pha riêng của EXTAL
9.Chân bộ đếm thời gian/sự kiện:
Chân hai hướng này cung cấp sự giao kết với khối bộ đếm thời gian /sựkiện Khi chân TIO được sử dụng như đầu vào, khối có chức năng như một bộđếm sự kiện bên ngoài hoặc nó đo độ rộng xung/chu kì tín hiệu bên ngoài KhiTIO được sử dụng như đầu ra, khối có chức năng như một bộ đinh thời và tín hiệutrên chân TIO là xung nhịp định thời
Trang 10MÔ TẢ CHỨC NĂNG DSP56002
Chương này đề cập đến các chế độ định địa chỉ và cấu trúc bộ xử líDSP56002 Cấu trúc bộ vi xử lí DSP56002 gồm ba đơn vị thực thi trung tâm:đơn vị thực thi dữ liệu số học logic (ALU), đơn vị điều khiển chương trình, đơn
vị cấp phát địa chỉ Ba chế độ định địa chỉ của bộ xử lí DSP56002: thanh ghitrực tiếp, đặc biệt, và thanh ghi gián tiếp Đồng thời, trong chương này còn
mô tả các mã lệnh để điều khiển chọn chế độ hoạt động cho các Port của DSP vàcác thanh ghi trong của DSP56002
a./ Tuyến dữ liệu:
Các tuyến dữ liệu bao gồm: XDB , YDB , PDB , GDB Trong đó XDB vàYDB truyền dữ liệu giữa ALU dữ liệu với bộ nhớ X hoặc Y tương ứng Một sốlệnh của XDB và YDB có thể kết nối với nhau tạo thành tuyến 48-bit PDB thìtruyền từ các lệnh còn GDB thì đảm trách các dữ liệu khác như truyền các dữ liệuxuất nhập (I/O) đến và từ các thiết bị ngoại vi
b./ Các tuyến địa chỉ:
Các tuyến địa chỉ bao gồm: XAB, YAB và PAB XAB và YAB cung cấpđịa chỉ dữ liệu trỏ đến vị trí xác định trong bộ nhớ dữ liệu nội X,Y tương ứng.PAB cung cấp địa chỉ dữ liệu trỏ đến vị trí bộ nhớ xác định trong bộ nhớ chươngtrình nội Các khoảng bộ nhớ ngoài được định địa chỉ một chiều 16-bit được láibởi một bộ dồn kênh ba ngỏ nhập để có thể chọn XAB, YAB hoặc PAB
5 Vòng giữ pha (PLL) dựa trên xung clock:
Vòng giữ pha cho phép DSP56002 sử dụng nguồn xung clock ngoại đốivới việc xử lí nhiều tốc độ cũng như cung cấp xung clock đồng bộ hoá xung clocknội PLL thực hiện việc nhân tần số, loại bỏ tính bất đối xứng và chia nhỏ côngsuất
II VÙNG MỞ RỘNG
Trang 111 Các bộ nhớ nội:
Bộ xử lí DSP56002 có 6 bộ nhớ on-chip: RAM dữ liệu X, ROM dữ liệu
X, RAM dữ liệu Y, ROM dữ liệu Y, RAM bộ nhớ chương trình và ROMbootstrap(tự khởi động) RAM dữ liệu X và Y là hai bộ nhớ nội 24-bit chiếm giữ
256 ô nhớ vị trí thấp nhất của khoảng địa chỉ X và Y tương ứng ROM dữ liệu X
và Y là hai bộ nhớ nội 24-bit cho phép bởi OMR, chiếm giữ 256 vị trí ô nhớ thấp
kế tiếp của khoảng địa chỉ bộ nhớ RAM chương trình P chứa các câu lệnh, hằng
số và các bảng dữ liệu được cố định tại thời gian biên dịch Các vị trí ô nhớ không
sử dụng có thể dùng lưu trữ dữ liệu tạm thời ROM bootstrap là một ROM có 64
ô nhớ lập trình trên 24-bit sử dụng chế độ bootstrap Ngoài ra còn có thể lập trình
để thực hiện phép bootstrap từ cổng mở rộng bộ nhớ, từ giao tiếp chủ hay từ giaotiếp bất đồng bộ nối tiếp (SCI)
2 Các ngoại vi on-chip:
Các ngoại vi của DSP56002 bao gồm: một giao tiếp chủ song song bằngphương pháp DMA, một port giao tiếp nối tiếp đồng bộ (SSI), một port giao tiếpnối tiếp bất đồng bộ (SCI), và một port xuất /nhập lập trình được
3 Bộ định thời / Đếm sự kiện:
Bộ định thời có thể sử dụng nguồn xung clock nội hay ngoại, và có thể ngắt
bộ xử lí sau một số sự kiện (xung clock) được tác động bởi người lập trình, hay
nó có thể phát tín hiệu đến thiết bị ngoại vi sau khi đếm xong số sự kiện bêntrong
B ĐƠN VỊ THỰC THI ALU DỮ LIỆU:
Đơn vị thực thi ALU dữ liệu thực hiện các phép toán số học và logic trên cáctoán hạng dữ liệu Các thành phần quan trọng của ALU dữ liệu bao gồm cácthanh ghi dữ liệu, một đơn vị nhân tích luỹ / logic song song(MAC ), một bộ dịchthanh ghi tích lũy, một đơn vị thao tác bit và hai bộ dịch / giới hạn
56
Bộ Dịch/Giới Hạn
5656
Trang 12BIỂU ĐỒ KHỐI ALU DỮ LIỆU
I THANH GHI DỮ LIỆU:
1./Thanh ghi dữ liệu nhập: X1,X0,Y1,Y0
ALU dữ liệu có bốn thanh ghi dữ liệu nhập có thể được xử lí như là bốnthanh ghi 24 bit độc lập X1, X0 , Y1 và Y0 hay kết hợp thành hai thanh ghi 48bit X và Y được phát triển bằng cách kết nối X1:X0, Y1:Y0 tương ứng
X Y
0 23 0 23 0
2./ Thanh ghi dữ liệu tích lũy : A2 , A1 , A0 , B2 , B1 , B0
Sáu thanh ghi dữ liệu tích lũy A2, A1, A0, B2, B1, B0 hình thành nên haithanh ghi tích lũy 56 bit tạm thời A (A2 : A1: A0) và B (B2 : B1: B0 ) Các thanhghi A1, A0 và B1, B0 là các thanh ghi 24 bit, còn thanh ghi A2, B2 là thanh ghi 8bit Hai thanh ghi này còn gọi là thanh ghi mở rộng
II ĐƠN VỊ MAC VÀ LOGIC:
Đơn vị MAC và LOGIC thực hiện tất cả các phép tính toán toán hạng của
bộ xử lí DSP56002 như cộng, trừ, AND, OR, XOR và NOT Nó cho phép ba toánhạng nhập và cho kết quả 56 bit được chứa trong thanh ghi tích lũy A và B
1 Biểu diễn dữ liệu phân số bù 2:
Đơn vị MAC và logic sử dụng dữ liệu phân số bù 2 trong thuật giải củaDSP56002, trong đó phân số là một số bất kì mà độ lớn của nó phải lớn hơn haybằng 0 và nhỏ hơn 1
Trang 13III BỘ DỊCH TÍCH LŨY:
Bộ dịch tích lũy nhận ngõ nhập 56 bit và xuất kết quả 56 bit Bộ dịch tíchlũy có thể dịch toán hạng dữ liệu sang trái một bit, sang phải một bit hay khôngdịch gì cả
IV BỘ DỊCH/GIỚI HẠN DỮ LIỆU:
Bộ dịch/giới hạn dữ liệu cung cấp chế độ hậu xử lí đặc biệt trên dữ liệutruyền từ thanh ghi tích lũy đến YDB hay XDB Mỗi bộ dịch/giới hạn bao gồmmột bộ dịch được cho phép bởi một bộ giới hạn
2 Bộ giới hạn:
Mỗi bộ giới hạn dữ liệu có khả năng tự thực hiện, nếu cần giải thuật bãohòa trên các toán hạng dữ liệu được truyền từ các thanh ghi tích lũy đến XDB vàYDB Nếu nội dung thanh ghi tích lũy nguồn có thể được hiển thị trong kíchthước của toán hạng đích mà không tràn thì bộ giới hạn bị cấm và toán hạngkhông thay đổi Còn ngược lại thì bộ giới hạn sẽ thay thế một giá trị dữ liệu đã tớihạn có độ lớn cực đại và có dấu giống như dấu của thanh ghi tích lũy nguồn.Phép giới hạn được thực hiện trên ngỏ xuất của bộ dữ liệu tương ứng Giá trịcủa thanh ghi tích lũy nguồn không thay đổi
Với hai bộ dịch/giới hạn dữ liệu có thể kết hợp lại với nhau để hình thànhmột giới hạn 48 bit dành cho các toán hạng từ dài(long word)
BẢNG GIÁ TRỊ DỮ LIỆU ĐƯỢC GIỚI HẠN
7FFFFF800000
7FFFFF8000007FFFFF
7FFFFF80000
Hai từ
24 bit
Trang 14X : B Y : B
L : AB
L : BA
+-
-8000007FFFFF800000
07FFFFF8000007FFFFF800000
L : B
+-
7FFFFF800000
FFFFFF000000
Một từ dài 48 bit
V ĐƠN VỊ THAO TÁC TRÊN BIT:
Đơn vị thao tác trên bit thực hiện các phép toán bit trên toán hạng của bộnhớ X hay Y
C BỘ ĐIỀU KHIỂN CHƯƠNG TRÌNH:
Bộ điều khiển chương trình là một đơn vị thực thi độc lập cung cấp lưu đồđiều khiển chương trình chuẩn mực như là bộ đếm chương trình, thanh ghi trạngthái và hệ thống stack Nó còn bao gồm cả OMR , LA và LC sẵn sàng để cungcấp cho lệnh vòng lặp DO, phần cứng của bộ xử lí DSP56002
• Thanh ghi bộ đếm chương trình (PC):
Là thanh ghi 16 bit trỏ vị trí bộ nhớ chương trình P của từ lệnh, toánhạng dữ liệu tức thời, toán hạng địa chỉ tức thời kế tiếp
• Thanh ghi trạng thái (SR):
Là thanh ghi 16 bit bao gồm 1 thanh ghi chế độ 8 bit (MR), chiếm 8bit cao của SR, và thanh ghi mã điều kiện (CCR) chiếm 8 bit thấp của SR MRchứa thông tin về trạng thái hệ thống của DSP56002 CCR định nghĩa chế độ hiệnhành
• Hệ thống Stack (SS):
Là bộ nhớ nội 32*15 tách biệt chứa bộ đếm chương trình (PC ) vàthanh ghi trạng thái (SR) cho phép gọi chương trình con, các ngắt dài và chươngtrình vòng lặp Ngoài ra còn có thể chứa LA và LC
• Bộ đếm vòng lặp (LC):
Là thanh ghi 16 bit xác định tần số lặp của lệnh DO hay lệnh REP
• Địa chỉ vòng lặp (LA):
Là thanh ghi 16 bit trỏ đến vị trí cuối của từ lệnh trong vòng lặp DO
• Thanh ghi chế độ xử lí (OMR) :
Là thanh ghi 24 bit định nghĩa chế độ xử lí hiện hành của bộ xử líDSP56002 Chỉ có 6 bit của OMR được định nghĩa Nó định nghĩa sự khác nhaucủa các bộ nhớ, và định nghĩa thủ tục khởi động
Trang 16và RAM dữ liệu Y nội và bộ nhớ ngoài
Các thanh ghi địa chỉ : 24 thanh ghi địa chỉ được chia thành ba tập hợp 8
thanh ghi:
Thanh ghi địa chỉ: Rn , n = 0,1, ,7
Thanh ghi offset: Nn , n = 0,1, ,7
Thanh ghi sửa đổi: Mn , n = 0,1, , 7
Mỗi thanh ghi địa chỉ Rn có một thanh ghi offset Nn và thanh ghi sửa đổitương ứng, cả ba đều có chung số n Thanh ghi địa chỉ Rn được dùng như địa chỉcon trỏ để định vị toán hạng dữ liệu trong bộ nhớ Thanh ghi offset được dùng đểcung cấp một giá trị offset cho thanh ghi cập nhật vị trí offset Thanh ghi sửa đổi
Mn lựa chọn địa chỉ số học để được thực hiện khi thanh ghi địa chỉ được cậpnhật
ALU địa chỉ:
Hai ALU địa chỉ thực hiện địa chỉ số học bởi các chế định địa chỉ của bộ xử
lí DSP56002 và các địa chỉ thay đổi Đơn vị địa chỉ số học sử dụng ba loại địa chỉ
số học: tuyến tính, modulo và đảo cờ nhớ Các thanh ghi sửa đổi định nghĩa loạiđịa chỉ số học được thực hiện Địa chỉ tuyến tính được sử dụng cho định địa chỉloại MPU chuẩn Địa chỉ modulo được dùng cho các bộ đệm vòng Đảo cờ nhớđược dùng trong thuật giải FFT
Trang 17BẢNG TÓM TẮT MÃ LOẠI ĐỊA CHỈ SỬA ĐỔI
Địa chỉ sửa đổi Loại địa chỉ số học
Trang 18Các lệnh của bộ xử lí DSP56002 bao gồm một hay nhiều từ lệnh 24 bit: từtoán hạng và từ mở rộng Từ toán hạng chứa một vùng mã lệnh 8 bit và một vùng
dữ liệu 16 bit Vùng mã lệnh bao gồm mã lệnh với các toán hạng thanh ghi nguồn
và đích của nó Vùng truyền dữ liệu cung cấp hướng truyền và địa chỉ tác độngđối với dữ liệu truyền trên XDB và YDB Địa chỉ tác động sẽ xác định một thanhghi địa chỉ Rn
Các chế độ định địa chỉ xác định các toán hạng là thanh ghi hay vị trí bộ nhớ
và cung cấp một địa chỉ xác định toán hạng Các chế độ định địa chỉ có thể đượcphân nhóm thành ba loại: Thanh ghi trực tiếp, đặc biệt và thanh ghi gián tiếp.Trường hợp định địa chỉ gián tiếp phải có thêm thông tin về địa chỉ thay đổi (bổsung) được xác định trong thanh ghi sửa đổi Các thanh ghi gián tiếp hay trực tiếp
có các chế độ định địa chỉ tương thích với lệnh từ đơn Còn các địa chỉ đặc biệtthì tương thích với lệnh một từ hay hai từ
I Các chế độ định địa chỉ trực tiếp thanh ghi:
Các chế độ định địa chỉ trực tiếp thanh ghi toán hạng là một thanh ghi dữliệu nhập, thanh ghi địa chỉ hay thanh ghi điều khiển
II Các chế độ định địa chỉ đặc biệt:
1./ Chế độ định địa chỉ dữ liệu tức thời:
Trỏ đến toán hạng 24 bit định vị trong từ mở rộng của lệnh
Ví dụ : MOVE #$818181,A0 ; A = $00 000000 818181 MOVE #$818181,A ; A = $FF 818181 000000
MOVE #$121212,B ; B = $00 121212 000000
2./ Chế độ định địa chỉ ngắn tức thời:
Trỏ đến toán hạng dữ liệu tức thời 8 bit hoặc 12 bit định vị trong từlệnh của lệnh Dữ liệu tức thời được truyền tới bit có trọng số thấp nhất của đíchđến với bit trọng số thấp cho bằng zero
Ví dụ: MOVE #$81, A1 ; A = $00 000081 000000
MOVE #$12, A ; A = $00 120000 000000
MOVE #$81, B ; B = $FF 810000 000000
3./ Chế độ định địa chỉ tuyệt đối:
Sử dụng địa chỉ toán hạng 16 bit định vị trong lệnh từ mở rộng như là mộtcon trỏ trỏ đến vị trí của toán hạng dữ liệu
Ví dụ: MOVE X:$2000,A0
4./ Chế độ định địa chỉ ngắn tuyệt đối:
Sử dụng địa chỉ toán hạng tức thời 6 bit, định vị trong lệnh thao tác từ,
để thiết lập con trỏ 16 bit trỏ đến dữ liệu toán hạng Toán hạng địa chỉ tức thời bit thêm các bit mở rộng có giá trị là zero để hình thành con trỏ 16-bit
Ví dụ: MOVE A1,X:$2
5/ Chế độ định địa chỉ xuất/ nhập ngắn:
Tương tự như chế độ định địa chỉ ngắn tuyệt đối Nó sử dụng địa chỉ toánhạng 6 bit được định vị trong từ lệnh xử lí, hình thành con trỏ 16 bit cho đoạnNhập/Xuất ( $ FFCO - $FFFF ) của bộ nhớ X hoặc Y Nó sử dụng các lệnh vềthao tác bit và truyền dữ liệu ngoại vi
Ví dụ: MOVEP A1,X:$FFFE
6/ Chế độ định địa chỉ nhảy ngắn:
Trang 19Sử dụng toán hạng nhảy tức thời 12 bit được định vị trong từ lệnh mở rộng
để thiết lập toán hạng “nhảy 16 bit” Toán hạng nhảy 12 bit được thêm phần mởrộng là zero thành toán hạng 16 bit và thay thế nội dung của thanh ghi bộ đếmchương trình ( PC )
Ví dụ: JMP $222 ; vị trí bộ nhớ P:$0222
7/ Chế độ định địa chỉ ngầm định:
Được sử dụng bởi một số lệnh để tham chiếu ngầm các thanh ghi bộ điềukhiển chương trình Thanh ghi điều khiển chương trình được ngầm định trong mãnguồn và mã lệnh của lệnh
III CÁC CHẾ ĐỘ ĐỊNH ĐỊA CHỈ THANH GHI GIÁN TIẾP:
Trong chế độ định địa chỉ thanh ghi gián tiếp , từ lệnh xác định một thanhghi Rn để trỏ đến toán hạng được định vị trong bộ nhớ Từ lệnh xử lý còn có thểxác định một địa chỉ toán hạng thực hiện với cả phép thực thi lệnh trước hay sau
Ví dụ: tăng sau bởi một, giảm sau một đơn vị offset
Mỗi địa chỉ thanh ghi Rn thì tương ứng với một thanh ghi offset Nn vàthanh ghi sửa đổi Mn Nn chứa một giá trị offset mà có thể được cộng với Rn đểcập nhật nội dung của nó Mn xác định loại địa chỉ số học được thực hiện khi Rnđược cập nhật Mỗi Mn thì được đặt $FFFF khi reset bộ xử lí để xác định loại địachỉ số học tuyến tính như là địa chỉ mặc định
1./ Chế độ định địa chỉ thanh ghi gián tiếp địa chỉ không cập nhật:
Trong chế độ định địa chỉ thanh ghi gián tiếp, thanh ghi địa chỉ Rn chỉ đếntoán hạng trong bộ nhớ Sau khi địa chỉ toán hạng được sử dụng nội dung củathanh ghi địa chỉ Rn không thay đổi
Ví dụ: MOVE B1,Y:(R0)
2./ Chế độ định địa chỉ thanh ghi gián tiếp tăng sau một:
Trong chế độ địa chỉ thanh gián tiếp, thanh ghi địa chỉ Rn chỉ đến toánhạng trong bộ nhớ Sau khi toán hạng địa chỉ được sử dụng, nội dung của thanhghi địa chỉ Rn được tăng một và kết quả được lưu vào Rn
3./Chế độ địa chỉ thanh ghi gián tiếp giảm sau một:
Trong chế độ định địa chỉ thanh ghi gián tiếp, thanh ghi địa chỉ Rn chỉ đếntoán hạng trong bộ nhớ Sau khi địa chỉ toán hạng được sử dụng, nội dung củathanh ghi địa chỉ Rn giảm một và được chứa trong Rn
Ví dụ: MOVE
Y0,X:(R2)-4./Chế độ định địa chỉ thanh ghi gián tiếp tăng sau Nn offset:
Trong chế độ định địa chỉ thanh ghi gián tiếp, thanh ghi địa chỉ Rn chỉ đếntoán hạng trong bộ nhớ Sau khi địa chỉ toán hạng được sử dụng, Rn được cậpnhật bởi sự cộng thêm offset chứa trong thanh ghi offset Nn lưu vào nội dung của
Rn Nội dung của thanh ghi offset Nn không thay đổi
5/ Chế độ định địa chỉ thanh ghi gián tiếp giảm sau Nn offset:
Trong chế độ định địa chỉ thanh ghi gián tiếp, thanh ghi địa chỉ Rn chỉ đếntoán hạng trong bộ nhớ Sau khi địa chỉ toán hạng được sử dụng, Rn được cậpnhật bởi sự trừ đi offset chứa trong thanh ghi offset Nn lưu vào nội dung của Rn.Nội dung của thanh ghi offset Nn không thay đổi
Ví dụ : MOVE Y:(R4)-N4,A0
Trang 206/ Chế độ định địa chỉ thanh ghi gián tiếp chỉ số bởi offset Nn:
Trong chế độ định địa chỉ thanh ghi gián tiếp, thanh ghi địa chỉ Rn đượccộng với thanh ghi offset Nn để thành một con trỏ trỏ đến toán hạng trong bộ nhớ.Nội dung của thanh ghi Rn và Nn không thay đổi
Ví dụ: MOVE X1,Y:(R5+N5)
7/ Chế độ định địa chỉ thanh ghi gián tiếp giảm trước một:
Trong chế độ định địa chỉ thanh ghi gián tiếp, thanh ghi địa chỉ Rn chỉ đếntoán hạng trong bộ nhớ, nhưng Rn được giảm một trước khi toán hạng được xử lí
Cổng A có hai đặc trưng giảm công suất Nó có thể truy xuất các không gian
bộ nhớ bên trong Nếu các điều kiện cho phép bộ xử lý hoạt động tại một tốc độ bộnhớ thấp, các trạng thái chờ có thể được thêm vào truy xuất bộ nhớ ngoài để giảmnăng lượng một cách có ý nghĩa khi bộ xử lý truy xuất các bộ nhớ này
II Giao tiếp cổng A:
Bộ xử lý DSP56002 có thể truy xuất một hoặc nhiều nguồn bộ nhớ của nó(bộ nhớ xử lý X,Y và bộ nhớ chương trình P) khi nó thực hiện một lệnh Các nguồn
bộ nhớ có thể ở bên trong hay ngoài đối với DSP56002
Bus địa chỉ 16 bit
busđịachỉ ngoài
XA
YA
PA
Chọnbusdữliệu ngoài YD
RD WR
WT BS
Y /
X BN BR BG
PS DS
Bus địa chỉ ngoài A0 –A15
Bus dữ liệu ngoàiD0 –D15
Tín hiệu điềukhiển Bus
Trang 21PORT A CỦA DSP56002
1.Bus dữ liệu &bus địa chỉ cổng A:
Các tín hiệu bus dữ liệu và địa chỉ cổng A điều khiển việc truy xuất bộ
nhớ ngoài Chúng là ba trạng thái trong suốt thời gian Reset trừ khi có ghi chúngược lại, và có thể yêu cầu các điện trở kéo lên để tối thiểu hóa tiêu tán nănglượng và ngăn chặn hoạt động lỗi
1.1 Bus địa chỉ (A0 –A15):
Các đầu ra ba trạng thái này xác định địa chỉ cho truy xuất bộ nhớchương trình và dữ liệu ngoài Để tối thiểu hóa năng lượng vô ích, A0 – A15không chuyển trạng thái khi các bộ nhớ ngoài không được truy xuất
1.2 Bus dữ liệu (D0 – D23):
Các chân này cung cấp dữ liệu hai hướng cho các truy xuất bộ nhớ
dữ liệu và chương trình ngoài D0 – D23 ở trạng thái tổng trở cao khi tín hiệu cấpbus được khẳng định
2 Điều khiển bus cổng A:
Các tín hiệu điều khiển bus cổng A cung cấp một phương tiện để kết nốivới các chủ bus phụ (có thể là DSP56002 phụ, các bộ xử lí, các bộ điều khiển truyxuất bộ nhớ trực tiếp P, …) thông qua cổng A đến DSP56002 Chúng là ba trạngthái trong suốt thời gian reset và có thể yêu cầu các điện trở kéo lên nhằm ngănchặn hoạt động lỗi
Trang 222.7 Yêu cầu bus (BR):
Khi đầu vào yêu cầu bus được tác động, DSP56002 sẽ luôn luôn nhườngbus cho một thiết bị ngoài như một bộ xử lí hay điều khiển DMA
2.8 Cấp bus (BG):
Khi đầu ra này được tác động, nó báo cho biết bị ngoại vi là đã cấp busngoài
2.9 Hoạt nghiệm bus (BS) :
Đầu ra được khẳng định khi DSP56002 truy xuất cổng A Nó hoạt độngnhư sự chỉ báo sớm trạng thái truy xuất bus ngoài bằng DSP56002
0 1 0 Hối tiếp ngoài có loại trừ :vectơ hay
vectơ+1 (chỉ chế độ phát triển)
Trang 23G PORT B CỦA DSP56002
Trang 24PORTAI/O(47 chân)
PORTBI/O(15 chân)
PORTCI/O(9 chân)
Giao tiếp SCI
Giao tiếp SSI
DSY/
XBNRDWRBRBGWTBS
D0-D23
A0-A15PS
PB8PB0-PB7PB10PB9PB12PB11PB14PB13
PC1PC0PC3PC2PC5PC4PC7PC6
Chức năngmặc định Chức năngkhác
HA0H0-H7HA2HA1
TXDRXDSC0SCLKSC2SC1SRDSCK
HACKHREQHEN/WHR
PC8 STD
I Giới thiệu:
Cổng B là cổng xuất nhập song song Nĩ thực hiện như 15 chân xuất nhập đadụng (GPIO), mỗi chân đều cĩ thể được cấu hình như ngõ ra hay nhập được sử
Trang 25dụng để điều khiển thiết bị Hoặc nó có thể thực hiện như một giao tiếp chủ (HI)hai hướng 8-bit, ở đó nó cung cấp một kết nối tiện lợi đến các bộ xử lý khác.
II CẤU HÌNH XUẤT / NHẬP THÔNG THƯỜNG:
Khi được cấu hình như xuất / nhập thông thường, cổng B hoạt động như bathanh ghi ánh xạ bộ nhớ điều khiển 15 chân xuất nhập Đó là thanh ghi điều khiểncổng B (PBC), thanh ghi hướng dữ liệu cổng B (PBDDR) và thanh ghi dữ liệu cổng
B (PBD)
Các reset cứng và mềm để xóa PBC và PBDDR mà cấu hình của cổng B nhưxuất nhập thông thường với tất cả 15 chân là đầu vào thì hệ thống đầu vào nối tiếpvới các chân này có thể kéo lên cho đến khi các chân được cấu hình cho phép hoạtđộng
Để lựa chọn giữa xuất nhập và giao tiếp chủ (HI), bằng cách đặt các bit 0 và
1 của PBC Sử dụng PBDDR để xác định bit tương ứng trong PBD sẽ là ngỏ vào(bit được đặt bằng 0) hoặc ngỏ ra (bit được đặt bằng 1)
Nếu một chân được cấu hình như một ngỏ vào GPIO và bộ xử lý đọc PBDthì bộ xử lý sẽ ghi nhận mức logic trên chân Nếu bộ xử lý ghi vào PBD thì dữ liệuđược chốt ở đó nhưng không xuất hiện trên chân vì lúc này đang ở trạng thái HiZ Nếu một chân được cấu hình như một đầu ra GPIO và bộ xử lý đọc PBD thìghi nhận nội dung của PBD thay vì mức logic trên chân, cho phép PBD sử dụngnhư một thanh ghi 16- bit thông thừơng Nếu bộ xử lý ghi vào PBD thì dữ liệuđược chốt ở đó và xuất hiện trên chân trong suốt chu kỳ lệnh kế tiếp
Nếu một chân cấu hình như một chân chủ, các toán hạng GPIO cổng B cóthể được sử dụng để giúp đỡ gỡ rối trong HI Nếu bit PBDDR của chân được xóa(cấu hình ngỏ vào), PBD sẽ trình bày logic trên chân, trừ khi chức năng HI đang sửdụng chân như một ngỏ vào hay ngỏ ra
Nếu PBDDR được đặt (cấu hình như một ngỏ ra) đối với chân được cấu hìnhnhư một chân chủ, khi bộ xử lý đọc thì đọc nội dung của PBD thay vì mức logictrên chân, đây là trường hợp cho phép PBD hoạt động như một thanh ghi thôngthường
23 Thanh ghi PBC (X:$FFE0) 0
BD11
BD10
BD9
BD8
BD7
BD6
BD5
BD4
BD3
BD2
BD1
BD0
Trang 2623 Thanh ghi PBD(X:$FFE4) 0
PB11
PB10
PB9
PB8
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0
III GIAO TIẾP CHỦ:
HI là một cổng song song, bộ đệm kép, độ rộng byte có thể nối trực tiếp đếnbus dữ liệu của một bộ xử lý chủ Bộ xử lý chủ có thể là bất kể loại nào trong sốcác vi tính chuẩn công nghiệp hoặc vi xử lý, DSP khác hoặc phần cứng DMA vìgiao tiếp này trông có vẻ như bộ nhớ tĩnh HI là bất đồng bộ và bao gồm hai dảithanh ghi - một dải có khả năng truy xuất đến bộ xử lý chủ và dải thứ hai có khảnăng truy xuất đến DSP CPU Các đặc điểm của giao tiếp HI:
• Tốc độ : tốc độ truyền dữ liệu được điều khiển ngắt là 3,3 triệu
từ/giây (đây là tốc độ ngắt tối đa cho DSP56002 chạy tại tần số 40MHz nghĩa là ngắt cho mỗi 6 chu kỳ lệnh)
Các tín hiệu chân : (15 chân)
H0 - H7 : Bus dữ liệu chủ
HA0 – HA 2 : Chọn địa chỉ chủ
HR/W~ : Điều khiển đọc viết chủ
Điều khiển ngắt (các ngắt ngắn hoặc dài)
Truy xuất bộ nhớ trực tiếp
• Các lệnh :
Các thanh ghi ánh xạ bộ nhớ cho phép lệnh MOVE chuẩn được sửdụng Lệnh MOVEP đặc biệt cung cấp khả năng phục vụ xuất nhập bằng việc sửdụng ngắt ngắn Các lệnh tác động địa chỉ bit (BCHG, BCLR, BSET, BTST, JCLR,JSET, JSSET) đơn giản hóa các trình phục vụ xuất nhập
Định địa chỉ ngắt xuất nhập cung cấp sự thi hành nhanh hơn đối với các
từ lệnh ít hơn
Giao tiếp – bên phía chủ
Anh xạ: tám bộ nhớ vị trí liên tục, ngoại vi ánh xạ bộ nhớ với các
vi xử lý, các bộ điều khiển DMA
Từ dữ liệu: 8- bit
Chế độ truyền: DSP đến chủ, chủ đến DSP, lệnh chủ và hỗn hợp các
phép truyền dữ liệu 8,16,hay 24 bit
Trang 27Nghi thức bắt tay
Hỏi vòng phần mềm
Điều khiển ngắt và khả năng tương thích với MC68000
DMA sử dụng chu kỳ khởi động
Các ngắt dành riêng
Các vectơ ngắt riêng cho mỗi một nguồn ngắt
Các lệnh chủ đặc biệt buộc các ngắt CPU DSP dưới sự điều khiểncủa bộ xử lý chủ, mà sử dụng tiện lợi đối với:
Các chuẩn đoán kết quả thời gian thực
Cửa gỡ rối cho phát triển chương trình
Các nghi thức điều khiển chủ và xác lập DMA
Giao tiếp HI có hai kiểu lập trình:1 cho chương trình DSP và 1 cho xử lýHOST Có 3 thanh ghi:
Thanh ghi điều khiển: HCR
* Thanh ghi truyền/nhận dữ liệu: HTX/HRX
+ HTX là thanh ghi chỉ đọc X:$FFEB + HRX là thanh ghi chỉ ghi X:$FFEBNgoài ra còn có thanh ghi điều khiển ngắt ICR, thanh ghi trạng tháiISR, vectơ ngắt IVR và ICR
Cho phép ngắt nhận HostCho phép ngắt truyền HostCho phép ngắt Host commandHost Flag 2
Host Flag 3
X:$FFE8 (đọc/ghi) Reset = 0
Dữ liệu nhận đầy
Dữ liệu truyền thốngHost command perdingHost Flag 0
Host Flag 1
X:$FFE9 (chỉ đọc)Reset
%00000010
Trang 287 6 5 4 3 2 1 0
INIT HM1 HM0 HF1 HF0 0 TREQ RREQ
HM1 HM00
011
0101
Chế độngắt
DMA-24bitDMA-16bitDMA-8 bit
Chế độ ngắt0
011
0101
Không ngắt (hỏi vòng)Yêu cầu RXDF(ngắt)Yêu cầu TXDF(ngắt)RXDF và TXDF(ngắt) Chế độ DMA0
011
0101
Không DMAYêu cầu DSP đến Host(RX)Yêu cầu Host đến DSP(TX)Không xác định
Bit INIT được sử dụng để định dạng HI
H PORT C CỦA DSP56002
Mọi chân cổng C đều có thể được coi là chân vào/ra tạm thời hay là chân giao tiếpvới ngoại vi on- chip Các ngoại vi on-chip bao gồm cổng SCI (SerialCommunication Interface) và cổng SSI (Synchronous Serial lnterface)
Khi là vào/ra tạm thời, cổng C cung cấp các đường truyền rất thuận lợi cho các bộADC, DAC, các họ DSP, các codec… Các on-chip ngoại vi chủ, SCI, SSI đều cónhững thanh ghi điều khiển, trạng thái, dữ liệu… riêng
I.Vào ra tạm thời (GPIO):
Khi ở chế độ GPIO được điều khiển bởi ba thanh ghi điều khiển cổng C(PCC), thanh ghi dữ liệu hướng cổng C (PCCDR), thanh ghi dữ liệu cổng C (PCD).Chân lựa chọn giữa chế độ GPIO hay SSI, SCI được thiết lập bằng cách đặt bitPCC tương ứng (vị trí bộ nhớ X:$FFE1) là 0 cho chế độ GPIO, là 1 cho giao tiếpnối tiếp PCDDR (X:$FFE3) lập trình cùng với các bit của PCD (X:$FFE5) tạothành các ngỏ nhập (khi PCCDR=0) hay ngỏ xuất (PCCDR=1) Các chân PC2 vàPC4 của cổng C được coi là chân xuất GPIO Nếu chân nào được cấu hình là chânxuất GPIO và DSP ở chế độ ghi vào PCD, thì dữ liệu sẽ được ghi thông qua chân
đó trong suốt chu kỳ lệnh tiếp theo Nếu DSP ở chế độ đọc PCD, thì DSP sẽ đọc
Trang 29nội dung của PCD chứ không phải đọc mức logic của chân mà cho phép PCD làthanh ghi 16-bit tạm thời.
Các lệnh sau đây của DSP56002 lập trình các chân PC2 và PC4 của cổng Cthành các ngỏ xuất tạm thời và ghi zero vào PCD PCD phát ra tín hiệu RESET~cho CS4215 và giữ ở mức thấp trong 50 ms PC2 cung cấp tín hiệu D/C~ ở mứcthấp để chọn chế độ điều khiển
MOVEP #$14,X:PCCDR ;Đặt PC2, PC4 thành các chân xuất
MOVEP #$0,X:PCD ;D/C~và RESET bằng 0→chế độ điều khiển
Cho phép bởiCác bit ởX:$FFE1
Lựa chọn hướng truyềnX:$FFE3
Xuất nhập dữ liệu
Trang 30Error: Reference source not found
0 1
Bit thanh ghi
điều khiển PCC Bit thanh ghi dữ liệutrực tiếp PCDDR Chức năng chân
II Giao tiếp truyền thông nối tiếp (SCI ):
SCI cung cấp một cổng cho truyền thông nối tiếp đến các DSP khác, các bộ
vi xử lý hoặc các ngoại vi như modem Sự truyền thông có thể là các tín hiệu mứcTTL hoặc với các logic phụ, RS232C, RS422,…
Giao tiếp này sử dụng ba chân dành riêng:
Phát dữ liệu (TXD): ngõ ra này truyền dữ liệu nối tiếp từ thanhghi dịch truyền SCI Dữ liệu thay đổi trên sườn âm của clocktruyền nếu SCKP=0 ngõ ra này là ổn định trên sườn dương củaclock truyền
Thu dữ liệu (RXD): chân ngõ vào này nhận dữ liệu nối tiếp vàtruyền dữ liệu đến thanh ghi dịch nhận SCI Dữ liệu vào khôngđồng bộ được lấy mẫu trên cạnh dương của clock nhận nếuSCKP=0
Xung nhịp nối tiếp SCI (SCLK): chân hai chiều này cung cấpclock vào hoặc ra
Một số đặc điểm của SCI
Trang 31 Ba chân giao tiếp:
• TXD - phát dữ liệu
• RXD - thu dữ liệu
• SCLK - xung nhịp nối tiếp
Giao tiếp truyền thông bất đồng bộ NRZ 625kbps (xung nhịp hệthống 40 Mhz)
Chế độ nối tiếp đồng bộ 5.0Mbps (xung nhịp hệ thống 40Mhz)
Chế độ nhiều điểm ra cho hệ thống nhiều bộ xử lý
Bốn mức ưu tiên ngắt
Các ngắt nhanh và các ngắt dài
Các thanh ghi của SCI :
Thanh ghi điều khiển SCI (SCR): X:$FFF0
Thanh ghi trạng thái (SSR): X:$FFF1
Thanh ghi điều khiển clock SCI (SCCR): X:$FFF2
23 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2
1 0
0
S C K P
S T I R
T M I E
T I E
R I E
I L T E
T E
R E
W O M S
R W U
W A K E
S B K
S S F T D
W D S 2
W D S 1
W D S 0
Thanh ghi SCRX:$FFF0
Trang 32R C M
S C P
C O D
C D 1 1
C D 1 0
C D 9
C D 8
C D 7
C D 6
C D 5
C D 4
C D 3
C D 2
C D 1
C D 0
III CÁC CHÂN CỔNG SSI CỦA DSP56002:
Truyền dữ liệu nối tiếp (TXD)
Nhận dữ liệu nối tiếp (RXD)
Cấp xung nối tiếp (SCK)
Điều khiển nối tiếp (SC0)
Điều khiển nối tiếp (SC1)
Điều khiển nối tiếp (SC2) PC0
PC1 PC2 PC3PC4PC5PC6PC7PC8
Chân điều khiển 1Chân điều khiển 2Chân xung
Chân nhận dữ liệuChân truyền dữ liệu
Idle Line Flag
Thanh ghi dữ liệu
nhận đầy
Thanh ghi dữ liệu
truyền trống
Thanh ghi SSRX:$FFF1
Truyền trống
Trang 33CÁC CHÂN GIAO TIẾP ĐỒNG BỘ NỐI TIẾP
Các chân SC4, STD, SRD, SCK của cổng SSI được dùng để làm bộ phậngiao tiếp giữa DSP56002 với 2 bộ ADC và 2 bộ DAC Chân STD được dùng đểxuất dữ liệu của thanh ghi dịch truyền nối tiếp của cổng SSI Dữ liệu này được láiđến ngỏ nhập của 2 bộ DAC thơng qua chân SDIN của CS4215 Chân SRD đượcdùng để đọc dữ liệu vào trong thanh ghi dịch nhận của cổng SSI, và dữ liệu đượctruyền đến từ 2 bộ ADC thơng qua chân SDOUT của CS4215
Chân SCK được dùng trong chức năng là nhận xung clock ngồi khi ở chế
độ dữ liệu xuất xung clock nội khi ở chế độ điều khiển và được nối với chân SCLKcủa CS4215 Cịn chân SC2 thì cũng tương tự, nĩ sẽ nhận tín hiệu đồng bộ cấu trúcngồi khi ở chế độ dữ liệu, phát ra tín hiệu đồng bộ khi ở chế độ điều khiển và cũngđược nối với chân FSYNC của CS4215
IV CHỌN CỔNG SSI:
Trong hệ thống DSP, cổng SSI cĩ tác dụng nhận dữ liệu nối tiếp từ 2 bộADC và truyền đến 2 bộ DAC Các lệnh sau đây dùng để chọn cổng C ở chế độ SSIbằng cách tác động các bit 8,7,6,5,và 3 của thanh ghi PCC
V THANH GHI ĐIỀU KHIỂN CỔNG SSI “A”(CRA)
*
0 PSR WL1 WL0 DC4 DC3 DC2 DC1 DC0 PM7 PM6 PM5 PM4 PM3 PM2 PM1 PM0
0 1 2 3 4
7 6 5 14
15 13 12 11 10 9 8 16
23 Thanh ghi điều khiển A
X:$FFEC Đọc/viết
Các phép xử lý của cổng SSI được truy xuất trực tiếp bởi các thanh ghi điềukhiển đọc/viết 16 bit CRA và CRB CRA điều khiển các hoạt động của cổng SSIsau:
Bit cho phép xung clock và các tốc độ đồng bộ cấu trúc
Prescal Modulus Select
Trang 34 Chiều dài từ
Số từ trên một cấu trúc trong dữ liệu nối tiếp
Các bit WL0 - WL1 lựa chọn chiều dài Chiều dài dữ liệu có thể là 8,12,16hay 24 bit Các bit PM0 - PM7 xác định tỉ số chia (từ 1÷256) của bộ chia tỉ lệ trước
(prescale divider) ở trong xung clock phát ra của SSI Các bit DC4 - DC0 điềukhiển tỉ số chia cho các bộ chia tốc độ đồng bộ cấu trúc lập trình được dùng để phát
ra xung đồng bộ cấu trúc Trong mạng, tỉ số chia này có thể được coi là số từ trênmột cấu trúc Trong chế độ thường tỉ số này được coi là số từ được truyền Tỉ số cótầm 1÷32 ở chế độ thường, 2÷32 ở chế độ mạng Bit PSR (prescale range)điều
khiển bộ chia 8 cố định trước trong chuỗi số với tỉ số chia trước thay đổi được KhiPSR được xóa, thì tỉ số chia trên được nối bỏ qua (bypass), còn khi PSR là 1 thì bộchia 8 được tính đến CRA chiếm vị trí bộ nhớ X:$FFEC
Error: Reference source not found
Ở chế độ điều khiển, các lệnh của DSP56002 được minh họa dưới đây thiếtlập thanh ghi điều khiển CRA cho phép DSP56002 phát ra xung clock ngoài nốitiếp và tín hiệu đồng bộ cấu trúc ngoài cho CS4215:
Bit 15 của CRA được xóa (PSR=0) để bỏ qua bộ chia tỉ số cố định
Bit 0 và 1 được đặt (PW0=PW1=1) và các bit 2,3,4,5,6,7 được xóa(PW2-PW7=0) để phát ra xung clock nối tiếp bằng 2.5 Mhz(40 Mhz/{2*4*2} tại chân SCK
Bit 14 được đặt (WL1=1) và bit 13 (WL0=0) để chọn chiều dài từ là
16 bit
Đặt 2 bit 8, 9 (DC0=DC1=1) và xóa các bit 10, 11, 12(DC2=DC3=DC4=0)để chọn 4 từ trên một khung chế độ mạng.Còn mạng nào thì được lựa chọn bởi thanh ghi điều khiển CRB.CRA EQU $FFEC
MOVEP #$4303,X :CRA ;40Mhz/16=2.5MhzSCLK,WL=16 bit, 4 W/F
Ở chế độ dữ liệu, các lệnh trên của DSP56002 thiết lập CRA cho phépDSP56002 nhận xung clock nối tiếp ngoài và tín hiệu đồng bộ cấu trúc từ CS4215.Trong cả 2 chế độ, hướng truyền trên các chân SCK và SC2 được điều khiển bởiCRB
VI THANH GHI ĐIỀU KHIỂN CỔNG SSI “B” (CRB):
CRB điều khiển các tính chất sau của cổng SSI:
Các chân đa chức năng SC2, SC1 và SC0
Cờ xuất nối tiếp điều khiển bit
Các chân hai chiều SCK,SC2,SC1 và SC0
Các chế độ tính toán
Cho phép truyền và nhận
Cho phép ngắt truyền nhận
Error: Reference source not found
Trong hệ thống DSP, các chân SC1 và SC0 của cổng SSI không được sửdụng CRB chiếm vị trí bộ nhớ là X:$FFED
Ơ chế độ điều khiển, các lệnh sau đây khởi động CRB theo:
Chia 2 Tỉ lệ chiatrước 1 hay
*
0 RIETIERE TE MODGCKSYNFSL1 FSL0 SHFD SCKD SCD2 SCD1 SCD0 OF1 OF0
0 1 2 3 4
7 6 5 14
15 13 12 11 10 9 8 16
23 Thanh ghi điều khiển B
X:$FFED Đọc/viết
Cờ ngõ ra Điều khiển
Nguồn xung Clock trực tiếp Khung đồng bộ dài 0 Khung đồng bộ dài 1 Điều khiển đồng bộ/không đồng bộ
Dịch trực tiếp
Điều khiển xung clock cổng Chọn chế độ(normal/network) Cho phép truyền
Cho phép nhận Cho phép ngắt truyền Cho phép ngắt nhận
Trang 35 Bit 4 được đặt để chọn hướng truyền của SC2 là hướng xuất ( đồng
Bit 9 được đặt để chọn cả hai bộ truyền nhận xử lý theo chế độ đồng
bộ và sử dụng chung xung (chân SCK) và tín hiệu đồng bộ cấu trúcchung (chân SC2)
Bit 10 bị xóa để chọn chế độ xung xử lý clock liên tục “continous”
Bit 11 được đặt để lựa chọn chế độ xử lý mạng (network) mà một từ
có thể được truyền trong mỗi Timeslot DSP56002
Cả hai bit 12 và 13 được đặt để cho phép truyền và nhận tương ứng
Cả hai bit 14 và 15 được đặt để cho phép ngắt truyền và nhận tươngứng
Các bit 3-0 không tương thích với đặt tính cấu hình của cổng SSI vìvậy chúng luôn được xóa
CRB EQU $FFED
MOVEP #$FB30,X:CRB ;RIE,TIE,RE,TE,NTWK,SYN,FSR/RSRbit
Trong chế độ dữ liệu, các lệnh sau khởi động CRB:
Bit 4 bị xóa để chọn chân SC2 là ngỏ nhập (đồng bộ cấu trúc ngoài)
Bit 5 được xóa để chọn SCK là ngỏ nhập (tín hiệu xung ngoài cho cả
2 thanh ghi dịch truyền và nhận)
Bit 6 được xóa để cho phép thanh ghi dịch truyền và nhận bắt đầu từMSB
Bit 7 được xóa và bit 8 được đặt để chọn xung clock 1-bit trên mộtchu kỳ đồng bộ cấu trúc
Bit 9 được đặt để cho phép truyền và nhận xử lý theo chế độ đồng bộ
và sử dụng chung xung (chân SCK) và tín hiệu đồng bộ (chân SC2)
Bit 10 được xóa để chọn chế độ xung xử lý clock liên tục
“continous”
Bit 11 được đặt để cho phép chế độ xử lý mạng (network) truyền một
từ trong mỗi Timeslot DSP56002
Cả hai bit 12 và 13 được đặt để cho phép truyền và nhận
Cả hai bit 14 và 15 được đặt để cho phép ngắt truyền và nhận
Các bit 3 - 0 không tương thích với đặt tính cấu hình của cổng SSI vìvậy chúng luôn được xóa
CRB EQU $FFED
MOVEP #$FB00,X:CRB ;rcv,xmt&int ena, netwk, syn, sclk=i/p, msb 1s.
VII Các thanh ghi nhận của cổng SSI:
Thanh ghi dịch nhận (RSR) là thanh ghi 24-bit nhận các dữ liệu từ chân SRDcủa cổng SSI Thanh ghi nhận dữ liệu (RX) là thanh ghi 24-bit nhận dữ liệu song
Trang 36song từ thanh ghi dịch nhận khi mà thanh ghi dịch nhận đủ thông tin RX chiếm vịtrí x:$FFEF Cờ báo đầy (RDF) của thanh ghi trạng thái (bit 7) được đặt khi mà tất
cả các nội dung của thanh ghi dịch nhận đã được truyền đến RX
Trong chế độ dữ liệu RSR nhận dữ liệu nối tiếp vào thông qua chân SRD khitín hiệu đồng bộ cấu trúc ngoài xác nhận SC2 RSR được cấp xung thông qua chânSCK Trong chế độ điều khiển, tín hiệu đồng bộ nội và xung dao động nội đượcdùng thay cho tín hiệu ngoài được nhận thông qua SRD
VIII Các thanh ghi truyền của cổng SSI:
Thanh ghi dịch truyền (TSR) của cổng SSI là thanh ghi 24-bit truyền dữ liệuthông qua chân STD Thanh ghi truyền dữ liệu (TX) là thanh ghi 24-bit cung cấp
dữ liệu song song đến TSR Dữ liệu truyền được ghi vào TX và cũng được tự độngtruyền đến TSR khi mà tín hiệu đồng bộ được xác nhận TX chiếm vị trí x:$FFEF
Cờ báo trống thanh ghi TX (TDE) của thanh ghi trạng thái (bit 6) được đặt khi nộidung của TX đã được truyền hết đến TSR
Trong chế độ dữ liệu TSR nhận dữ liệu nối tiếp ra ngoài thông qua chânSRD khi tín hiệu đồng bộ xác nhận SC2 TSR được cấp xung ngoài thông qua chânSCK Trong chế độ điều khiển, tín hiệu đồng bộ nội và xung dao động nội đượcdùng để truyền dữ liệu nối tiếp qua SRD
IX Thanh ghi trạng thái của cổng SSI:
Thanh ghi trạng thái của cổng SSI (SSISR) là một thanh ghi chỉ đọc (readonly) 8-bit được dùng bởi DSP56002 để quản lý trạng thái và các cờ nhập nối tiếpcủa cổng SSI SR chiếm vị trí x:$FFEE
Bit cờ báo đầy thanh ghi nhận (RDF) của SSISR (bit 7) được đặt khi nộidung của RSR được truyền hết đến RX Và RDF được xóa khi DSP56002 đọc RX,hay được xóa bằng phần cứng, phần mềm, các đặc tính SSI hoặc lệnh STOP
Bit cờ báo trống TX (TDE)của SSISR (bit 6) được đặt khi nội dung của TXđược truyền hết đến TSR và cũng còn được đặt trong việc cấm chu kỳ Timeslottrong chế độ mạng TDE được xóa khi DSP56002 ghi dữ liệu mới vào TX hayDSP56002 ghi vào thanh ghi Timeslot (TSR) để cho phép truyền timeslot kế tiếp Bit cờ báo lỗi nhận chạy vượt (overrun) (ROE) của SSISR (bit 5) được đặtkhi thanh ghi dịch nhận dữ liệu nối tiếp được nhận và sẵn sàng truyền dữ liệu đến
RX nhưng RX đã đầy (RDF=1) ROE được xóa bằng phần cứng, phần mềm vàcũng được xóa bằng cách đọc SSISR với ROE được đặt, rồi tiếp theo đọc RX Bit cờ báo lỗi nhận chạy chậm (underrun)(TUE) của SSISR (bit 4) được đặtkhi TSR đang trống (không có dữ liệu nào được truyền đến) và sự truyền timeslotđang xảy ra Khi lỗi này xảy ra thì dữ liệu trước đó (dữ liệu còn hiện hành trongTX) sẽ được truyền ngược trở lại TUE cũng có thể được xóa bằng phần cứng, phầnmềm… Và cũng được xóa bằng khi đọc SSISR với TUE được đặt, rồi tiếp theo ghi
TX hay TSR
Các bit cờ báo nhập nối tiếp (IF0 và IF1) của SSISR (bit 0 và 1) không đượcdùng trong hệ thống DRP56002 này
Khi bit cờ báo truyền tín hiệu đồng bộ (TFS) của SSISR (bit 2) được đặt thì
nó chỉ ra rằng có một sự truyền tín hiệu đồng bộ xảy ra trong timeslot hiện hànhcủa DSP56002 TFS được đặt tại vị trí khởi đầu của timeslot đầu tiên trong khung
Trang 37và được xĩa trong tất cả các timeslot khác của DSP56002 TFS được dùng trongchế độ mạng để xác định khung (frame) khởi đầu.
*
0 RDFTDERDETUERFSTFSIF1IF0
0 1 2 3 4
7 6 5 23
Thanh ghitrạng thái SSI
X:$FFEE (Đọc)
Cờ vào nối tiếp 0,1 Khung đồng bộ truyền Khung đồng bộ nhận Cờ lỗi nhận tràn Thanh ghi truyền trống Đầy thanh ghi nhận
Cờ lỗi truyền 8
Trong hệ thống DSP, các lệnh sau đây dùng để tác động khung khởi đầutrong chế độ mạng để thiết lập sự đồng bộ cần thiết trước khi dùng các ngắt đểtruyền dữ liệu giữa DSP56002 và các bộ ADC và DAC
NOP
GOTHRU
Khi bit cờ báo nhận tín hiệu đồng bộ (RFS) của SSISR (bit 3) được đặt thì nĩchỉ ra rằng cĩ một sự nhận tín hiệu đồng bộ xảy ra khi nhận lại từ mà ở trong thanhghi nhận dữ liệu nối tiếp Điều đĩ cĩ nghĩa là từ dữ liệu đĩ là timeslot đầu tiên củaDSP56002 của khung RFS cũng được dùng trong chế độ mạng để xác định khungkhởi đầu
Trong hệ thống DSP, các lệnh sau của DSP56002 là một phần thiết lậpCS4215 trước khi đi vào chế độ điều khiển và chế độ dữ liệu:
SSI;CLB=0
JSET #18,X :RX_BUFF_BASE,* ;dừng tại chổ cho đến khi CLB đặt
Các lệnh và macro sau được dùng để lái tín hiệu dạng số hĩa tín hiệu tương
tự trái và phải được nhận từ hai bộ ADC đưa đến kênh trái và phải của hai bộ DAC
Trang 38I THANH GHI ƯU TIÊN NGẮT (IPR) CỦA DSP56002
Mức độ ưu tiên ngắt đối với mỗi thiết bị ngoại vi trên chip (on-chip) và đốivới mỗi nguồn ngắt ngoài có thể được lập trình dưới dạng phần mềm được điềukhiển bằng cách ghi vào thanh ghi ưu tiên ngắt (IPR) Các ngắt cấp độ 3 là các ngắtkhông che, và các cấp độ 0-2 là các ngắt có che
THANH GHI ƯU TIÊN NGẮT CỦA DSP 56002Error: Reference source not found
Trang 39HPL0-1 :IPL chủ
IAL0-2 :Yêu cầu ngắt chế độ A
IBL0-2 : Yêu cầu ngắt chế độ B
Error: Reference source not found
TIL 0-1 :Bộ định thời IPL
SCL0-1 :SCI IPL
SSL0-1 :SSI IPL
Các lệnh sau đây của DSP56002 lập trình mức độ ưu tiên ngắt cho thanh ghiIPR thành ngắt mức độ 3 (không có che) Các bit ngắt có che (bit 8 và 9) ở trongthanh ghi chế độ (MR) được xóa
P:$000E 0-2 SSI nhận dữ liệu ngoài trạng thái
P:$0012 0-2 SSI truyền dữ liệu ngoài trạng thái
P:$0016 0-2 SCI nhận dữ liệu ngoài trạng thái
BẢNG CÁC ƯU TIÊN NGOẠI LỆ CỦA MỨC ĐỘ ƯU TIÊN NGẮT
Mức độ 3(không che)
Trang 40Cao nhất Reset phần cứng
Lệnh không hợp lệNMI~
Lỗi stackThực thi
Dữ liệu SSI RX ngắt ngoạilệ
J.BỘ DAO ĐỘNG XUNG VÒNG GIỮ PHA (PLL)
I.Giới thiệu bộ dao động vòng giữ pha:
Các bộ xử lý của họ DSP56002 (ngoại trừ DSP56000 và DSP56001) đều cómột bộ dao động vòng giữ pha PLL (phase-locked) ở đơn vị xử lý trung tâm.PLL cho phép bộ xử lý tính toán ở tần số xung clock nội cao trên tần số vào thấp.PLL thực hiện nhân tần số để cho phép bộ xử lý sử dụng hầu như tất cả các hệthống xung clock ngoài, cũng như cung cấp một xung đồng bộ để đồng bộ hóaxung nội
II.Các thành phần của PLL:
1./Bộ tác động pha và bộ lọc vòng lặp bơm nạp :
Bộ phát hiện pha (PD) sẽ phát hiện ra bất kỳ pha nào khác với xungngoài (EXTAL) và pha xung nội từ bộ nhân tần Tại một điểm nào đó mà sự saikhác pha không đáng kể và tần số của hai ngỏ vào là xác định thì PLL ở trạng tháikhóa
Tần số của chip được tính theo công thức: