GIỚI THIỆU
I. Tổng quan:
Luận văn này thực hiện việc xây dựng bộ điều khiển và nhận dạng tiếng nói
bằng xử lý tín hiệu số DSP56002.
Một vài thập niên trước đây, việc nhận dạng tiếng nói bằng máy chỉ tồn tại
trong suy nghĩ của các nhà khoa học viễn tưởng, tuy nhiên trong một vài năm gần
đây, vấn đề tìm hiểu và thực hiện một hệ thống nhận dạng tiếng nói một cách tự
động đã được đưa vào nghiên cứu trong các viện nghiên cứu trên khắp thế giới.
Những ứng dụng thực tiễn mà hệ thống này sẽ mang lại là vô cùng lớn như các máy
tính của chúng ta sẽ không cần bàn phím, các hệ thống điều khiển sẽ không cần các
bảng điều khiển phức tạp, máy điện thoại sẽ không còn cần đến các bàn quay số
có 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ắp
thế 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ủa
tiế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ộ giao
tiế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ủa
DSP56002. Chương 4 mô tả tập lệnh xử lý tín hiệu số DSP56002. Chương 5 giới
thiệ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ối
tiế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ệu
phương pháp biến đổi nhanh Fourier FFT thực hiện trên DSP56002 sử dụng giải
thuật phân chia theo thời gian DIT (decimation-in-time). Tiếp theo Chương 8 trình
bà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
9 sẽ tập trung vào phép biến đổi Fourier thời gian ngắn để trích formant của tín
hiệ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ện
trí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.
ac
GIỚI THIỆU BỘ XỬ LÍ TÍN HIỆU
SỐ &KHỐI ĐÁNH GIÁ DSP56002
Trong chương này, sẽ giới thiệu tổng quát về bộ xử lý tín hiệu số
DSP56002 và các chân của nó.
A. MÔ TẢ TỔNG QUÁT BỘ XỬ LÍ TÍN HIỆU SỐ
DSP56002:
DSP56002 là bộ xử lí tín hiệu đơn chip, đa dụng. Khối đánh giá
DSP56002EVM có giá thành thấp, sử dụng bộ xử lí DSP56002 cho việc thiết kế
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ố 24-
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úp
cấ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ên
chip, 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ín
hiệu số.
DSP56002
24 bit
DSP56000
Family manual
#DSP56KFAMUM/AD
DSP56002
Technical data
#DSP56002/D
DSP56002
User’s Manual
#DSP56002UM/AD
DSP56002 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ình
1.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
II.VÙNG MỞ RỘNG
Những bộ phận chính trong vùng mở rộng:
• Ram chương trình 512x24
• 2 Ram dữ liệu 256x24
• 2 Rom dữ liệu 256x24
• 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à đánh
giá hệ thống căn bản của DSP56002. Bao gồm ba bộ phận quan trọng:
• Mạch đánh giá DSP56002 chứa bộ xử lí DSP56002, bộ nhớ mở rộng
off-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
D0-D23
A0-A15
PS
DS
Y/X
BN
RD
WR
BR
BG
WT
BS
NMI/MODC
IRQB/MODB
IRQA/MODA
RESET
EXTAL
XTAL
TIO
Port A
Data
Port A
Address
Interrupt/
Mode
Control
Timer/
Event
Counter
HO-H7/PB0-PB7
HA0-HA2/PB8-PB10
12PB/HEN
13PB/HREQ
11PB/W/HR
14PB/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
MOÂ TAÛ CHAÂ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~).
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ên
ngoà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 được
tá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ào
thanh 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ộ đệm
ngỏ 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 tinh
thể 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ích
cực và HR/
W
ở mức cao khiến cho H0-H7 trở thành ngỏ ra và cho phép bộ giao
tiếp chủ đọc dữ liệu DSP56002.
4.2 . Địa chỉ chủ(HA0-HA2):
Các đầu vào này cung sự lựa chọn cho mỗi thanh ghi giao tiếp chủ.
4.3 . Đọc / Viết chủ:
Đầu vào này chọn hướng truyền dữ liệu đối với mỗi truy xuất bộ xử lí chủ.
Nếu HR/
W
là cao và
HEN
được tích cực, H0-H7 là các đầu ra. Nếu HR/
W
là
thấp và
HEN
được công bố, H0-H7 là các đầu vào.
4.4 . Chủ yêu cầu (HREQ):
Tín hiệu ra cực máng hở này được sử dụng bởi giao tiếp chủ để yêu cầu
phụ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.
4.5 . Chủ chấp nhận (HACK):
Đầu vào này có hai chức năng . Nó cung cấp một tín hiệu bắt tay chủ chấp
nhận cho việc truyền DMA và có thu một ngắt chủ chấp nhận tương thích với bộ
xử lí họ MC68000
5.Giao tiếp truyền thông nối tiếp (SCI):
5.1 . Dữ liệu thu(RXD):
Đầu vào này thu dữ liệu hướng byte và truyền dữ liệu đó đến thanh ghi
dịch thu SCI.
5.2 . Dữ liệu phát(TXD):
Đầ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. Trong
chế độ 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ân
DSI/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ân
OS1 để 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 đầu
và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ái
chip.
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ỉ định
bở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):
Đầu vào này cho phép người sử dụng vào chế độ gỡ rối từ bộ điều khiển
lệnh bên ngoài .
8.Các chân của PLL:
8.1 . Nguồn mạch PLL tương tự (PVCC):
Đầu cấp nguồn VCC này dành riêng cho hệ thống PLL.
8.2 . Đất cho mạch PLL (PGND):
Đầu GND này dành riêng cho hệ thống PLL.
8.3 . Nguồn CKOUT (CLVCC):
Đầu vào này hoạt động như VCC cho ngõ ra CKOUT.
8.4 . Đất CKOUT (CLGND):
Đầu vào này hoạt động như GND đối với ngõ ra CKOUT.
8.5 . Tụ lọc PLL (PCAP):
Đầu này dùng để nối với tụ bên ngoài cần cho bộ lọc PLL.
8.6 . Xung nhịp ra (CKOUT):
Chân này cung cấp xung nhịp ra chu kì làm việc bằng 50% đồng bộ với
xung nhịp bên trong bộ xử lí khi PLL được cho phép và ở trạng thái khóa.
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 PINIT
và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. Khi
TIO đượ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ệu
trên chân TIO là xung nhịp định thời.
MÔ 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 ghi
trự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. CẤU TRÚC CỦA DSP56002
I . ĐƠN VỊ XỬ LÍ TRUNG TÂM(CPU)
1 . Các tuyến:
Cấu trúc nội đa tuyến của bộ xử lí DSP56002 gồm 4 tuyến dữ liệu 2 chiều
24-bit, hai tuyến địa chỉ một hướng 16-bit và một tuyến địa chỉ hai hướng 16-bit.
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ệu
xuấ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ương
trình nội. Các khoảng bộ nhớ ngoài được định địa chỉ một chiều 16-bit được lái
bởi một bộ dồn kênh ba ngỏ nhập để có thể chọn XAB, YAB hoặc PAB.
2 . Các đơn vị thực thi:
DSP56002 gồm ba đơn vị thực thi ALU dữ liệu, PCU và AGU.
3 . Cổng mở rộng bộ nhớ: (cổng A )
Cổng mở rộng bộ nhớ bao gồm một tuyến địa chỉ 16-bit, một tuyến dữ liệu
hai chiều 24-bit và các tín hiệu điều khiển. Nó được dùng để giao tiếp với bộ xử lí
DSP56002 để mở rộng bộ nhớ hay thiết bị ngoại vi. Những thiết bị ngoại vi này
gồm RAM tĩnh tốc độ cao, thiết bị bộ nhớ thấp hơn, DSP khác và MPU khác
trong cấu hình chủ/tớ.
4 . OnCE:
Nó cho phép người sử dụng tạo ảnh hưởng qua lại giữa CPU của
DSP56002 và các ngoại vi khác để kiểm tra các thanh ghi, bộ nhớ hay các ngoại
vi trên chip. Nó cung cấp sự truy xuất đơn giản, ít tiêu phí và tốc độ độc lập đối
với các thanh ghi nội cho việc phát triển hệ thống sửa lỗi và có tính kinh tế cao.
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 đối
với việc xử lí nhiều tốc độ cũng như cung cấp xung clock đồng bộ hoá xung clock
nộ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ông
suất.
II .VÙNG MỞ RỘNG
1 . 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à ROM
bootstrap(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ừ giao
tiế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ằng
phương pháp DMA, một port giao tiếp nối tiếp đồng bộ (SSI), một port giao tiếp
nố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ên
trong.
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ác
toá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ác
thanh ghi dữ liệu, một đơn vị nhân tích luỹ / logic song song(MAC ), một bộ dịch
thanh ghi tích lũy, một đơn vị thao tác bit và hai bộ dịch / giới hạn.
Bộ Dịch
24 24
Tuyến dữ liệu X
Tuyến dữ liệu Y
24 24
X0
X1
Y0
Y1
24 24
Dồn kênh
Thanh ghi tích lũy
Làm tròn và đơn vị
logic
A(56)
B(56)
56
56 56
Bộ Dịch/Giới Hạn
56
56
BIỂ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ốn
thanh ghi 24 bit độc lập X1, X0 , Y1 và Y0 hay kết hợp thành hai thanh ghi 48
bit 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
23 0 23
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 hai
thanh ghi tích lũy 56 bit tạm thời A (A2 : A1: A0) và B (B2 : B1: B0 ). Các thanh
ghi A1, A0 và B1, B0 là các thanh ghi 24 bit, còn thanh ghi A2, B2 là thanh ghi 8
bit. Hai thanh ghi này còn gọi là thanh ghi mở rộng.
A
* A2 A1 A0
23 8 7 0 23 0 23 0
B
* B2 B1 B0
23 8 7 0 23 0 23 0
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án
hạ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ủa
DSP56002, trong đó phân số là một số bất kì mà độ lớn của nó phải lớn hơn hay
bằng 0 và nhỏ hơn 1.
2 . Sự làm tròn:
Đơn vị MAC và LOGIC có thể làm tròn hội tụ phần thấp nhất của thanh
ghi tích lũy A0 và B0 vào phần cao nhất A1 và B1.
Y1 Y0X1 X0
III . 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ích
lũ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ông
dị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ệu
truyền từ thanh ghi tích lũy đến YDB hay XDB. Mỗi bộ dịch/giới hạn bao gồm
một bộ dịch được cho phép bởi một bộ giới hạn.
1 . Bộ dịch dữ liệu:
Mỗi bộ dịch dữ liệu có khả năng dịch một toán hạng dữ liệu sang trái,
sang phải một bit hay cho dữ liệu đi qua mà không dịch gì cả. Ngõ ra của bộ dịch
dữ liệu chạy qua bộ giới hạn dữ liệu tương ứng, trong đó bộ giới hạn dữ liệu có
ngõ ra 24 bit và một ngõ tràn. Các bộ dịch được điều khiển bởi các bit ở chế độ
chia tỉ lệ (Scaling mode) S1 và S0 ở thanh ghi trạng thái (SR), với S1, S0 lần
lượt là bit thứ 11 và thứ 10. S1 và S0 cho phép sự chia tỉ lệ động của dữ liệu cố
định được trỏ mà không cần phải thay đổi lệnh của chương trình.
S1 S0 Chế độ chia tỉ lệ
0 0 Không chia
0 1 Chia xuống (dịch sang phải 1 bit )
1 0 Chia lên (dịch sang trái một 1 bit)
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ão
hò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ích
thướ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ạng
khô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ới
hạ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ành
mộ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
Đích Giá trị giới hạn (hex)
Bộ nhớ tham
chiếu
Toán hạng
nguồn
Dấu XDB YDB Loại truy
xuất
X X : A
X : B
+
-
7FFFFF
800000
Một từ
24 bit
Y Y : A
Y : B
+
-
7FFFF
F
80000
0
Một từ
24 bit
X và Y X : A Y : A
X : A Y : B
X : B Y : A
+
-
+
7FFFFF
800000
7FFFFF
7FFFF
F
80000
Hai từ
24 bit
X : B Y : B
L : AB
L : BA
-
+
-
800000
7FFFFF
800000
0
7FFFF
F
80000
0
7FFFF
F
80000
0
L ( X : Y) L : A
L : B
+
-
7FFFFF
800000
FFFFF
F
00000
0
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ạng
thái và hệ thống stack. Nó còn bao gồm cả OMR , LA và LC sẵn sàng để cung
cấ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án
hạ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 8
bit cao của SR, và thanh ghi mã điều kiện (CCR) chiếm 8 bit thấp của SR. MR
chứa thông tin về trạng thái hệ thống của DSP56002. CCR định nghĩa chế độ hiện
hà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ương
trì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 nhau
của các bộ nhớ, và định nghĩa thủ tục khởi động.
MR CCR
LF D
M
T * S1 S0 I
1
I0 S L E U N Z V C
Thanh ghi trạng thái (SR)
C : carry
V : overflow ; cờ báo tràn
Z : zero
N : negative
U : unnormalized
E : extension
L : limit
S : scaling
I1 , I0 : interrupt mask ; mặt nạ ngắt
* : reserved
T : trace mode
DM : double precision multibly mode
LF : loop flag ; cờ vòng lặp
23 16 15 0
Thanh ghi địa chỉ vòng lặp (LA)
23 16 15 0
Thanh ghi bộ đếm vòng lặp(LC)
23 16 15 0
Thanh ghi bộ đếm chương trình(PC)
23 8 7 6 5 4 3 2 1 0
* * SD * MC YD DE MB MA
THANH GHI CHẾ ĐỘ XỬ LÝ(OMR)
BẢNG CÁC BIT CHẾ ĐỘ BỘ NHỚ
XD YD BỘ NHỚ DỮ LIỆU
0 0 Cấm các ROM nội và các địa chỉ của chúng trong
phần bộ nhớ ngoài.
0 1 Cấm ROM dữ liệu X nội và bộ nhớ ngoài. Cấm ROM
*
*
*
1
15
31 16 15 0
High
(SSH)
Low
(SSL)
HỆ THỐNG STACK (SS)
UF SE P3 P2 P1 P0
CON TRỎ
STACK
và RAM dữ liệu Y nội và bộ nhớ ngoài.
1 0 Cho phép ROM dữ liệu X và Y.
1 1 Cấm ROM và RAM dữ liệu nội và bộ nhớ ngoài. Cho
phép ROM dữ liệu X.
BẢNG TÓM TẮT CÁC CHẾ ĐỘ XỬ LÍ CỦA DSP56002
D . ĐƠN VỊ CẤP PHÁT ĐỊA CHỈ:
Đơn vị cấp phát địa chỉ là một đơn vị thực thi độc lập phát ra các địa chỉ trỏ
đến các toán hạng dữ liệu trên bộ nhớ X, Y hay P. Nó cung cấp 14 chế độ định
địa chỉ và sử dụng ba loại cấp phát địa chỉ số học. Các thành phần chính: 24 thanh
ghi địa chỉ 16 bit, 2 ALU địa chỉ và ba bộ dồn kênh địa chỉ xuất.
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 đổi
tươ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ập
nhậ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.
Chế độ
xử lí
MC MB MA Mô tả
0 0 0 0 Chế độ đơn chip P:RAM được cho
phép, reset tại $0000.
1 0 0 1 Bootstrap từ EEPROM,thoát chế độ
0.
2 0 1 0 Chế độ mở rộng chuẩn P:RAM
được cho phép, reset tại $E000.
3 0 1 1 Chế độ phát triển P:RAM bị
cấm,reset tại $0000.
4 1 0 0 Dự trữ cho Bootstrap.
5 1 0 1 Bootstrap từ chủ, thoát chế độ 0.
6 1 1 0 Bootstrap từ SCI (xung clock
ngoài) thoát chế độ 0.
7 1 1 1 Dự trữ cho Bootstrap.
BẢ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
0000 Đảo cờ nhớ (đảo bit)
0001 Modulo 2
0002 Modulo 3
0003 Modulo 4
:
:
7FFE Modulo 32767
7FFF Modulo 32768
8000 Dự trữ
8001 Nhân Wrap Around Modulo 2
8002 Dự trữ
8003 Nhân Wrap Around Modulo 4
: Dự trữ
8007 Nhân Wrap Around Modulo 8
: Dự trữ
800F Nhân Wrap Around Modulo 2
4
: Dự trữ
801F Nhân Wrap Around Modulo 2
5
: Dự trữ
803F Nhân Wrap Around Modulo 2
6
: Dự trữ
807F Nhân Wrap Around Modulo 2
7
: Dự trữ
80FF Nhân Wrap Around Modulo 2
8
: Dự trữ
81FF Nhân Wrap Around Modulo 2
9
: Dự trữ
83FF Nhân Wrap Around Modulo 2
10
: Dự trữ
87FF Nhân Wrap Around Modulo 2
11
: Dự trữ
8FFF Nhân Wrap Around Modulo 2
12
: Dự trữ
9FFF Nhân Wrap Around Modulo 2
13
: Dự trữ
BFFF Nhân Wrap Around Modulo 2
14
: Dự trữ
FFFF Tuyến tính (Modulo 2
15
)
E . CÁC CHẾ ĐỘ ĐỊNH ĐỊA CHỈ:
Cá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 thanh
ghi đị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ể được
phâ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ệt
thì 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ột
con 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 6-
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án
hạng 6 bit được định vị trong từ lệnh xử lí, hình thành con trỏ 16 bit cho đoạn
Nhậ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:
Sử 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ộ đếm
chươ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ều
khiể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 thanh
ghi 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 địa
chỉ 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ỉ đến
toán hạng trong bộ nhớ. Sau khi địa chỉ toán hạng được sử dụng nội dung của
thanh 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án
hạng trong bộ nhớ. Sau khi toán hạng địa chỉ được sử dụng, nội dung của thanh
ghi địa chỉ Rn được tăng một và kết quả được lưu vào Rn.
Ví dụ: MOVE B0,Y(R1)+
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ỉ đến
toán hạng trong bộ nhớ. Sau khi địa chỉ toán hạng được sử dụng, nội dung của
thanh 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ỉ đến
toán hạng trong bộ nhớ. Sau khi địa chỉ toán hạng được sử dụng, Rn được cập
nhậ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.
Ví dụ : MOVE X0,Y:(R3)+N3
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ỉ đến
toán hạng trong bộ nhớ . Sau khi địa chỉ toán hạng được sử dụng, Rn được cập
nhậ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
6/ 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 được
cộ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ỉ đến
toán hạng trong bộ nhớ, nhưng Rn được giảm một trước khi toán hạng được xử lí.
Ví dụ : MOVE X:-(R6),A1
F . PORT A CỦA DSP56002
I . Giới thiệu:
Cổng A cung cấp một sự giao tiếp linh hoạt với bộ nhớ ngoài, cho phép kết
nối một cách tinh tế với các bộ nhớ, thiết bị nhanh, thiết bị chậm và các hệ thống
nhiều chủ bus.
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ảm
nă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
trong
Chọn
bus
địa
chỉ
ngoài
XA
YA
PA
Chọn
bus
dữ
liệu
ngoài
YD
PD
GD
Bus dữ liệu
24
bit bên trong
XD
Logic
điều
khiển
bus
ngoài
RD
WR
WT
BS
Y/X
BN
BR
BG
PS
DS
Bus địa chỉ
ngoài A0 –A15
Bus dữ liệu ngoài
D0 –D15
Tín hiệu điều
khiển Bus
PORT 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ăng
lượ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 – A15
khô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ấp
bus đượ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ối
với các chủ bus phụ (có thể là DSP56002 phụ, các bộ xử lí, các bộ điều khiển truy
xuất bộ nhớ trực tiếp P, …) thông qua cổng A đến DSP56002. Chúng là ba trạng
thá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ăn
chặn hoạt động lỗi.
2.1. Chọn bộ nhớ chương trình (PS):
Đầu ra ba trạng thái này chỉ được khẳng định khi bộ nhớ chương trình
ngoài được tham khảo.
2.2 . Chọn bộ nhớ dữ liệu (DS):
Đầu ra ba trạng thái này chỉ được công bố khi bộ nhớ dữ liệu ngoài được
tham khảo.
2.3 . Chọn X/Y:
Đầu ra ba trạng thái này chọn không gian bộ nhớ được tham khảo(X hay
Y).
2.4 . Cho phép đọc (RD):
Đầu ra ba trạng thái này được tác động để đọc bộ nhớ ngoài trên bus dữ
liệu (D0 – D23).
2.5 . Cho phép ghi(WR):
Đầu ra ba trạng thái được tác động để ghi bộ nhớ ngoài trên bus dữ liệu
(D0 – D23).
2.6 . Cần bus(BN):
Chân ra BN được tác động bất cứ lúc nào Chip yêu cầu bus mở rộng bộ
nhớ ngoài ( cổngA ).
2.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ường
bus 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 bus
ngoà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 động
như sự chỉ báo sớm trạng thái truy xuất bus ngoài bằng DSP56002.
2.10 . Chờ bus(WT):
Trong suốt thời gian tín hiệu này được tác động bởi một thiết bị ngoài,
đầu vào này cho phép thiết bị ngoài buộc DSP56002 cung cấp các trạng thái
chờ.Error: Reference source not foundBẢNG GIẢI MÃ LỰA CHỌN BỘ NHỚ
DỮ LIỆU VÀ CHƯƠNG TRÌNH
PS
DS
X/
Y
Bộ nhớ chuẩn ngoài
1 1 1 Không tích cực
1 0 1 Bộ nhớ dữ liệu X trên bus dữ liệu
1 0 0 Bộ nhớ dữ liệu Y trên bus dữ liệu
0 1 1 Bộ nhớ chương trình trên bus dữ liệu
0 1 0 Hối tiếp ngoài có loại trừ :vectơ hay
vectơ+1 (chỉ chế độ phát triển)
0 0 X Dự trữ
1 1 0 Dự trữ
G . PORT B CỦA DSP56002
PORT
A
I/O
(47 chân)
PORT
B
I/O
(15 chân)
PORT
C
I/O
(9 chân)
Chọn đòa chỉ
ngoài
Chọn dữ liệu
ngoài
Điều khiển
Bus
Giao
tiếp
song
song
DMA
Host
Giao tiếp SCI
Giao tiếp SSI
DS
Y/X
BN
RD
WR
BR
BG
WT
BS
D0-D23
A0-A15
PS
PB8
PB0-PB7
PB10
PB9
PB12
PB11
PB14
PB13
PC1
PC0
PC3
PC2
PC5
PC4
PC7
PC6
Chức năng
mặc đònh
Chức năng
khác
HA0
H0-H7
HA2
HA1
TXD
RXD
SC0
SCLK
SC2
SC1
SRD
SCK
HACK
HREQ
HEN
W/HR
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 đa
dụng (GPIO), mỗi chân đều có thể được cấu hình như ngõ ra hay nhập được sử
dụ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ư ba
thanh ghi ánh xạ bộ nhớ điều khiển 15 chân xuất nhập. Đó là thanh ghi điều khiển
cổ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ếp
vớ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 PBD
thì 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ụng
như 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ình
như một chân chủ, khi bộ xử lý đọc thì đọc nội dung của PBD thay vì mức logic
trên chân, đây là trường hợp cho phép PBD hoạt động như một thanh ghi thông
thường.
23 Thanh ghi PBC (X:$FFE0) 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BC1 BC0
BC1 BC0 Chức năng
0 0 Xuất nhập song song(RESET)
0 1 Giao tiếp chủ
1 0
Giao tiếp chủ (với chân
HACK
là GPIO)
1 1 Dự trữ
23 Thanh ghi PBDDR (X:$FFE2)
0
0 BD
14
BD
13
BD
12
BD
11
BD
10
BD
9
BD
8
BD
7
BD
6
BD
5
BD
4
BD
3
BD
2
BD
1
BD
0
BDx Dữ liệu trực tiếp
0 Ngõ vào
1 Ngõ ra