Core DSP56300 cung cấp những khối chức năng sau:
- Bộ logic và thuật toán dữ liệu (ALU).
- Bộ phát địa chỉ (AGU)
- Bộ điều khiển chương trình (PCU).
- Bộ tạo xung và vòng bám pha.
- Module OnCE và JTAG TAP.
- Bộ nhớ.
6.2.1 Bộ logic và thuật toán dữ liệu (ALU).
ALU thự hiện tất cả các thuật toán và logic với toán hạng dữ liệu trên core DSP56300. Các thành phần ALU gồm:
- Bộ nhân tích luỹ song song 24-bit
- Bộ dịch song song 56-bit.
- Lệnh điều kiện ALU.
- Hỗ trợ thuật tốn 24-bit hoặc 16-bit có thể điều khiển bằng phần mềm.
- 4 thanh ghi đa năng vào 24-bit: X1, X0, Y1 và Y0.
- 6 thanh ghi dữ liệu ALU (A2, A1, A0, B2, B1, B0) có thể tạo thành 2 thanh ghi đa năng, bộ tích luỹ 56-bit, bộ dịch tích luỹ.
- 2 mạch giới hạn và dich bus dữ liệu. Thanh ghi dữ liệu ALU:
- Có thể được ghi/đọc thơng qua bus địa chỉ X và Y như các toán hạng 16- bit hoặc 32-bit. Tốn hạng nguồn cho dữ liệu ALU có thể là 16-bit, 32-bit hoặc 40-bit thường được bắt nguồn từ các thanh ghi dữ liệu ALU. Tất cả các kết quả xử lý dữ liệu được lưu trữ trong bộ tích luỹ.
- Tất cả các toán hạng dữ liệu ALU được thực hiện bởi 2 chu kỳ xung nhịp trong hàng lệnh.
Bộ nhân tích luỹ (MAC): bao gồm bộ xử lý thuật tốn chính của DSP56300 và thực thi tất cả các tính tốn trên toán hạng dữ liêu. Trong một số trường hợp chấp nhận 3 toán hạng vào và 1 kết quả ra 56-bit
6.2.2 Bộ phát địa chỉ (AGU)
Thực hiện các phép tính địa chỉ hiệu dụng, sử dụng các tốn số nguyên xác định địa chỉ toán hạng dữ liệu trong bộ nhớ và thanh ghi.
AGU được chia làm 2 phần, mỗi phần có 1 bộ tính địa chỉ riêng. Mỗi bộ tính địa chỉ riêng có 4 thanh ghi. Mỗi thanh ghi bao gồm 1 thanh địa chỉ, một thanh ghi offset, và một thanh ghi hiệu chỉnh. Hai bộ tính tốn địa chỉ giống hệt nhau, mỗi bộ gồm bộ cộng đầy đủ 16-bit (được gọi là là bộ cộng offset).
Bộ cộng đầy đủ thứ 2 ( được gọi là bộ cộng modulo). Cộng kết quả được tính của bộ cộng đầu thành một giá trị modulo được lưu trữ trong thanh ghi hiệu chỉnh riêng. Mỗi bộ tính địa chỉ dữ liệu có thể được cập nhật một thanh ghi địa chỉ từ thanh ghi địa chỉ của chính nó trong một chu kỳ lệnh.
6.2.3 Bộ điều khiển chương trình (PCU)
PCU thực hiện đọc lệnh, giải mã lệnh, điều khiển lặp DO cứng. Thành phần của PCU gồm 7 bộ hàng lệnh và điều khiển các trạng thái xử lý khác nhau của core DSP56300. PCU bao gồm 3 khối cứng:
- Bộ điều khiển giải mã chương trình: nạp câu lệnh 24-bit vào hàng lệnh và phát tất cả các tín hiệu cần thiết để điều khiển dòng lệnh.
- Bộ điều khiển địa chỉ chương trình. Bao gồm tất cả các phần cứng cần thiết cho phát địa chỉ chương trình, hệ thống ngăn xếp (stack), và điều khiển vịng lặp.
- Bộ điều khiển ngắt chương trình. Thực thi tất cả các ngắt yêu cầu tới và phát ra địa chỉ vector ngắt tương ứng.
- Các chức năng của PCU sử dụng các thanh ghi
Thanh ghi đếm chương trình.
Thanh ghi trạng thái.
Thanh ghi địa chỉ lặp
Thanh ghi kích thước.
Con trỏ ngăn xếp.
Thanh ghi mode hoạt động.
Thanh ghi đếm ngăn xếp.
Ngăn xếp hệ thống cứng
6.2.4 Bộ phát xung và vòng bám pha (PLL) Bộ phát xung trong DSP56300 gồm 2 khối Bộ phát xung trong DSP56300 gồm 2 khối
- Vòng bám pha (PLL): thực hiện chia xung clock, nhân tần số, và khử lệch. Cho phép bộ vi xử lý hoạt động ở tần số trong cao sử dụng xung đầu vào tần số thấp.
- Bộ phát xung: thực hiện chia công suất thấp, và phát xung.
6.2.5 Module OnCE và JTAG TAP.
Core DSP56300 cung cấp khả năng truy cập người dùng TAP tương thích đầy đủ với chuẩn IEEE 1149.1 (Cấu trúc quét biên và cổng truy cập).
Kiểm tra logic bao gồm một TAP với 4 đường tín hiệu được sử dụng, một bộ điều khiển 16 trạng thái, 3 thanh ghi kiểm tra dữ liệu. Một thanh ghi quét biên, quét thanh ghi liên kết kết tất cả các tín hiệu thiết bị thành một thanh ghi dịch đơn. Kiểm tra logic được thực hiện tối ưu hoá thiết kế logic tĩnh, độc lập với logic hệ thống thiết bị
Module OnCE ảnh hưởng tới core DSP56300 và các ngoại vi của nó. Người sử dụng có thể kiểm tra các thanh ghi, bộ nhớ, hoặc các ngoại vi của on-chip. Các chức năng của module OnCE được cugn cấp thơng qua tín hiệu cổng JTAG TAP.
6.2.6 Bộ nhớ On-chip
Bộ nhớ của core DSP56300 được chia thành các phần: bộ nhớ chương trình, bộ nhớ dữ liệu X, bộ nhớ dữ liệu Y, hai không gian nhớ X, Y này làm việc với 2 bộ ALU địa chỉ và cung cấp 2 toán hạng đồng thời tới bộ ALU dữ liệu.
phần mềm điều khiển. RAM Chương trình Đệm lệnh RAM dữ liệu X RAM dữ liệu Y Đệm lệnh Chuyển mode M1 M0
16Kx24-bit 0 24Kx24-bit 24Kx24-bit Disabled Disabled 0/1 0/1
15Kx24-bit 1024x24-bit 24Kx24-bit 24Kx24-bit Enabled Disabled 0/1 0/1
48Kx24-bit 0 8Kx24-bit 8Kx24-bit Disabled Enabled 0 0
47Kx24-bit 1024x24-bit 8Kx24-bit 8Kx24-bit Enabled Enabled 0 0
40Kx24-bit 0 12Kx24-bit 12Kx24-bit Disabled Enabled 0 1
39Kx24-bit 1024x24-bit 12Kx24-bit 12Kx24-bit Enabled Enabled 0 1
32Kx24-bit 0 16Kx24-bit 16Kx24-bit Disabled Enabled 1 0
31Kx24-bit 1024x24-bit 16Kx24-bit 16Kx24-bit Enabled Enabled 1 0
24Kx24-bit 0 20Kx24-bit 20Kx24-bit Disabled Enabled 1 1
23Kx24-bit 1024x24-bit 20Kx24-bit 20Kx24-bit Enabled Enabled 1 1
Bảng 2. Không gian nhớ trên On-chip 6.2.7 Bộ nhớ mở rộng off-chip
Bộ nhớ được mở rộng trên off-chip với các dung lượng:
- Bộ nhớ dữ liệu mở rộng tới 2 không gian nhớ 16M x 24-bit word trong mode địa chỉ 24-bit (16K trong mode địa chỉ 16-bit).
- Bộ nhớ chương trình mở rộng tới 2 không gian nhớ 16M x 24-bit word trong mode địa chỉ 24-bit (16K trong mode địa chỉ 16-bit).
Hơn thế khơng gian nhớ off-chip cịn gồm: - Cổng mở rộng bộ nhớ ngoài.
- Các giao diện không gắn kết đồng thời tới SRAM và DRAM. 6.2.8 Các đường bus trong
DSP56307 thực hiện trao đổi dữ liệu giữa các khối thông qua các đường bus sau: - Bus mở rộng vào/ra ngoại vi tới thiết bị ngoại vi.
- Bus mở rộng bộ nhớ chương trình tới bộ nhớ ROM chương trình. - Bus mở rộng bộ nhớ X tới bộ nhớ X.
- Bus mở rộng bộ nhớ Y tới bộ nhớ Y.
- Bus dữ tổng thể giữa CPU và các cấu trúc lõi khác.
- Bus dữ liệu chương trình chuyển dữ liệu chương trình thơng qua lõi. - Bus dữ liệu bộ nhớ X cho phép chuyển dữ liệu bộ nhớ X thông qua lõi. - Bus dữ liệu bộ nhớ Y cho phép chuyển dữ liệu bộ nhớ Y thông qua lõi. - Bus địa chỉ chương trình chuyển địa chỉ nhớ chương trình qua lõi
- Bus địa chỉ bộ nhớ X cho phép chuyển địa chỉ bộ nhớ X thông qua lõi. - Bus địa chỉ bộ nhớ Y cho phép chuyển địa chỉ bộ nhớ Y thông qua lõi. 6.3 Sơ đồ khối của DSP56307
Hình 22. Sơ đồ khối DSP56307 6.4 DMA
Khối DMA có các tính năng sau:
- 6 kênh DMA hỗ trợ truy cập ngoài và trong. - Truyền 1, 2 , 3 chiều.
- Các ngắt truyền ở cuối của khối.
- Sườn kích hoạt từ các ngắt và thiết bị ngoại vi. 6.5 Cấu trúc
DSP56307 được thiết kế thực hiện các chức năng xử lý tín hiệu số. Core DSP56307 cung cấp các ngoại vi sau:
- HI08 tới các host ngoài.
- 2 kênh giao diện nối tiếp đồng bộ tăng cường (ESSI). - Giao diện SCI.
- Module định thời. - Mode chuyển bộ nhớ.
- 4 đường ngắt ngoài/ các đường điều khiển mode 6.5.1 Chức năng của GPIO
Cổng GPIO bao gồm 34 đường tín hiệu có thể lập trình. Tất cả được cũng được sử dụng bởi ngoại vi (HI08, ESSI, SCI, module định thời). Sau khi khởi động các chân tín hiệu tự động được cấu hình là các đường vào /ra đa chức năng GPIO. Có 3 thanh ghi được ánh xạ tới bộ nhớ trên mỗi ngoại vi điều khiển chức năng của GPIO. 6.5.2 Giao diện HI08
Có độ rộng 1 byte, song công, đệm kép. Cổng song song này có khả năng nối trực tiếp tới bus dữ liệu của một bộ xử lý host. HI08 hỗ trợ kết nối bus biến đổi linh hoạt cho phép kết nối với các thiết bị xử lý số cônng nghiệp, vi xử lý, và máy vi tính mà khơng cần bất kỳ điều kiện logic nào. Core DSP xem HI08 như một ngoại vi được ánh xạ lên bộ nhớ chiếm 8 từ 24-bit trong bộ nhớ dữ liệu. DSP có thể sử dụng cổng HI08 như một ngoại vi được ánh xạ lên bộ nhớ sử dụng kỹ thuật lập trình ngắt hoặc dị chuẩn. Chia các thanh ghi dữ liệu truyền và nhận được đệm kép cho phép DSP và bộ sử lý Host thực hiện truyền dữ liệu hiệu quả ở tốc độ cao. Bộ nhớ ánh xạ cho phép lập trình truyền thơng core DSP với các thanh ghi của cổng HI08 bằng cách sử dụng các câu lệnh chuẩn và mode địa chỉ.
Thanh ghi điều khiển cổng (HPCR)
HPCR là thanh ghi đọc/ghi 16 bit dùng để DSP điều khiển chế độ hoạt động của HI08. Các bit không sử dụng được đọc và ghi giá trị 0.
Bit 0 (HGEN): Khi bit HGEN được đặt tín hiệu được cấu hình trong chế độ GPIO, khi bit này xoá sẽ thoát khỏi chế độ GPIO, các đầu ra ở trạng thái trở kháng cao, các đầu vào bị ngắt.
Bit 6 (HEN): Khi bit này được đặt HI08 hoạt động trong chế độ giao diện chủ. Nếu xoá về 0 các chân HI08 hoạt động như các chân GPIO tuỳ theo giá trị trong thanh ghi HDDR và HDR.
Thanh ghi hướng dữ liệu (HDDR):
Thanh ghi HDDR điều khiển hướng truyên của dữ liệu trong chế độ GPIO. Nếu bit DRxx được đặt các chân tương ứng của HI08 là chân ra, khi xố bit thì các chân tương ứng là chân vào.
Thanh ghi dữ liệu (HDR):
Thanh ghi HDR lưu trữ giữ liệu tương ứng với các chân HI08 khi hoạt động trong chế độ GPIO. Chức năng của các bit Dxx phụ thuộc vào các bit tương ứng trong thanh ghi HDDR.
6.5.3 Giao diện ESSI
DSP56307 cung cấp 2 giao diện truyền thông nối tiếp đồng bộ, song cơng. Tương thích với các thiết nối tiếp bao gồm một hoặc nhiều codec chuẩn công nghiệp, các bộ vi xử lý, máy vi tính,
ESSI bao gồm phần truyền nhận độc lập , khối phát xung nhịp chung. ESSI gồm các khả năng sau:
- Độc lập (bất đồng bộ) hoặc chia sẽ (đồng bộ) các phần truyền và nhận với chia hoặc chia sẽ xung nhịp trong/ngoài và đồng bộ khung.
- Hoạt động ở mode thông thường là đồng bộ khung. - Hoạt động ở mode mạng với 32 khe thời gian.
- Chiều dài của từ có khả năng lập trình (8-bit, 12-bit và 16-bit). - Các tuỳ chọn chương trình cho đồng bộ khung và phát xung nhịp. - Một bộ nhận và ba bộ truyền trên mỗi ESSI.
6.5.4 Giao diện SCI
DSP56307 cung cấp một giao diện SCI song công cho phép trao đổi thông tin nối tiếp với các thiết bị xử lý số, vi xử lý như modem. Giao diện SCI không cần thêm logic ngoại vi. Với khối lượng nhỏ các mạch logic cộng thêm, SCI có thể nối với các ngoại vi khác khơng có mức tín hiệu chuẩn như RS-232C, RS-422. Giao diện này sử dụng 3 tín hiệu được chỉ ra: dữ liệu truyền, dữ liệu nhận, và xung nhịp nối tiếp SCI. Nó hỗ trợ tốc độ bit đồng bộ chuẩn công nghiệp và các giao thức như truyền dữ liệu đồng bộ tốc độ cao (lên tới 1.5Mbps với xung nhịp 100MHz)
6.5.5 Module định thời
Bao gồm 1 bộ chia chung 21-bit, và 3 bộ đếm sự kiện 24-bit đa năng xác định, mỗi bộ đếm có một tập các thanh ghi được ánh xạ lên bộ nhớ. Mỗi bộ định thời có một tín hiệu đơn, có chức năng như tín hiệu GPIO hoặc là một tín hiệu định thời. Mỗi bộ định thời có thể sử dụng xung nhịp trong hoặc ngồi có thể ngắt DSP sau khi xác định số sự kiện hoặc tín hiệu một thiết bị ngồi sau khi đếm các sự kiện trong. Mỗi bộ định thời kết nối với bên ngồi thơng qua một đường tín hiệu nhị phân. Khi đó tín hiệu này được cấu hình như là một ngắt, bộ định thời này có thể đóng vai trị là một bộ đếm sự kiện ngoài hoặc đo độ rộng xung/ chu kỳ tín hiệu. Khi là tín hiệu được sử dụng như một đầu ra, bộ định thời có chức năng như kích xung, điều chế độ rộng xung...
Hình 23. Sơ đồ khối EFCOP
EFCOP là một khối ngoại vi giao tiếp với DSP thông qua module bus ngoại vi. EFCOP là bộ đồng xử lý đầy đủ đa chức năng có khả năng lập trình được thiết kế để thực hiện các nhiệm vụ lọc đồng thời với nhân DSP. Nhân DSP và EFCOP có thể chia sẽ bộ dữ liệu nhớ dữ liệu. Các kênh DMA luân chuyển là dữ liệu vào/ra giữa nhân DSP và EFCOP.
EFCOP hỗ trợ các mode lọc khác nhau dựa trên các ứng dụng cụ thể: - Bộ lọc đáp ứng xung hữu hạn thực với các tap thực.
- Bộ lọc đáp ứng xung hữu hạn phức với các tap phức.
- Bộ lọc đáp ứng xung hữu hạn phức phát ở đầu ra lọc thực và phức luân phiên.
- Một hệ số 10 4-bit (hệ số tỉ lệ lên đến 1 – 16) trong các bộ lọc FIR. - Bộ lọc đáp ứng xung vô hạn trực tiếp dạng I.
- Bộ lọc đáp ứng xung vô hạn trực tiếp dạng II. -
- Bộ lọc thích nghi FIR với hệ số thực bình phương tối thiểu được cập nhật. - Bộ lọc thích nghi FIR với hệ số trễ bình phương tối thiểu được cập nhật. EFCOP hỗ trợ tới 4K taps và 4K hệ số trong một số liên kết của số và chiều dài bộ lọc. Có thể thực hiện chính xác các thuật tốn 24-bit hoặc 16-bit
6.6.1 Các thanh ghi của EFCOP
Địa chỉ Tên thanh ghi EFCOP $FFFFB0 Thanh ghi dữ liệu vào (FDIR) $FFFFB1 Thanh ghi dữ liệu ra (FDOR) $FFFFB2 Thanh ghi hằng số K (FKIR) $FFFFB3 Thanh ghi đếm (FCNT)
$FFFFB4 Thanh ghi điều khiển trạng thái (FCSR) $FFFFB5 Thanh ghi điều khiển ALU (FACR) $FFFFB6 Địa chỉ cơ sở bộ đệm dữ liệu (FDBA) $FFFFB7 Địa chỉ cơ sở hệ số bộ lọc (FCBA) $FFFFB8 Thanh ghi chiều/kênh lọc (FDCH) Bảng 3. Địa chỉ cơ sở của các thanh ghi EFCOP Thanh ghi dữ liệu vào (FDIR)
FDIR là thanh ghi FIFO 4 từ 24 bit dùng để truyền dữ liệu từ DSP tới EFCOP. Nhiều nhất 4 mẫu có thể được viết vào FDIR với cùng một địa chỉ. Dữ liệu từ FDIR được truyền tới FDM để xử lý lọc. Khi hoạt động dữ liêu chỉ được viết vào FDIR khi bit trạng thái FDIBE được đặt. Dữ liệu truyền đi có thể được khởi động bằng yêu cầu ngắt hoặc yêu cầu DMA. Cả nhân DSP56307 và điều khiển DMA đều lấy thông tin từ FDIR để ghi.
Thanh ghi dữ liệu ra (FDOR)
FDOR là thanh ghi chỉ đọc 24 bít để truyền dữ liệu từ EFCOP tới DSP. Kết quả xử lý lọc được chuyển từ FMAC tới FDOR. Khi hoạt động chỉ đọc dữ liệu từ FDOR khi bít trạng thái FDOBF được đặt điều đó chỉ ra rằng thanh ghi FDOR đã chứa dữ liệu. Khi đọc xong dữ liệu từ FDOR thì bít FDOBF được xố. Dữ liệu truyền đi có
thể khởi động bằng yêu cầu ngắt hoặc yêu cầu DMA. Thanh ghi FDOR được đọc thông tin từ nhân DSP56307 hoặc điều khiển DMA.
Thanh ghi hằng số K (FKIR)
FKIR là thanh ghi chỉ đọc 24 bít để chuyển hằng số từ DSP tới EFCOP. Các hằng