1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm

77 437 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 6,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với những tiện ích to lớn của kỹ thuật “vô tuyến cấu hình mềm”, nội dung đồ án của tôi sẽ đi vào nghiên cứu một cách tổng quan về kiến trúc của một thiết bị vô tuyến cấu hình mềm; trình bày những vấn đề chung nhất về một thiết bị vô tuyến cấu hình mềm. Trên cở sở đó, tiến hành nghiên cứu, thiết kế và thử nghiệm một bộ phận cấu thành của thiết bị vô tuyến cấu hình mềm. Đó là module cấu hình và hiển thị, có chức năng thiết lập cấu hình cho hệ thống và giao tiếp với người sử dụng qua hiển thị trên màn hình LCD. Nội dung đồ án của tôi sẽ gồm 3 chương như sau: Chương 1: Tổng quan về kỹ thuật vô tuyến cấu hình mềm – trình bày một cách tổng quan nhất về kỹ thuật vô tuyến cấu hình mềm, khái niệm thiết bị vô tuyến cấu hình mềm, kiến trúc và tính ưu việt của thiết bị vô tuyến cấu hình mềm. Chương 2: Cấu hình cho các thiết bị FPGA – trình bày cấu trúc chung của thiết bị FPGA, nghiên cứu các phương pháp cấu hình cho những thiết bị FPGA của hãng Altera, làm cơ sở để tiến hành bài toán đặt ra ở chương 3. Chương 3: Thiết kế, thử nghiệm và kiểm tra – trình bày các nội dung được tiến hành trong quá trình thực hiện bài toán: thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm.

Trang 1

LỜI NÓI ĐẦU

Ngày nay, với những bước tiến vượt bậc của khoa học kỹ thuật, những thiết bị thông tin liên lạc nhanh chóng trở nên lạc hậu ngay sau khi được sản xuất Để theo kịp sự phát triển này, một yêu cầu đặt ra là phải thiết kế

hệ thống thông tin liên lạc sao cho những công nghệ và kỹ thuật mới được đưa vào hệ thống dễ dàng, chính xác, với mức chi phí thấp nhất Những thiết bị sau khi được nâng cấp với những kỹ thuật mới vẫn có thể liên lạc được với những thiết bị vô tuyến và những hệ thống đã được kế thừa

Thuật ngữ “thiết bị vô tuyến cấu hình mềm” (Software Defined Radio)

được đưa ra để chỉ những thiết bị vô tuyến có thể tái cấu hình configurable) hay tái lập trình (re-programable), thực hiện những chức năng khác nhau với cùng một cấu trúc phần cứng Trong thiết bị vô tuyến cấu hình mềm, các chức năng của thiết bị được định nghĩa bằng phần mềm,

(re-do đó một kỹ thuật hay chức năng mới sẽ dễ dàng được thực hiện bằng việc

nâng cấp phần mềm trong thiết bị Như vậy, kỹ thuật “thiết bị vô tuyến cấu hình mềm” cho phép mở rộng tối đa năng lực và các thông số ứng dụng với

mức chi phí sản xuất được giảm đến mức nhỏ nhất

Trước đây, các thiết bị thông tin vô tuyến có những chức năng khác nhau, được thuật toán hoá và thực hiện trên những phần cứng khác nhau Ngày nay, ứng dụng những tiến bộ kỹ thuật, trên cơ sở sử dụng các công cụ linh kiện khả trình, các thuật toán ứng với những chức năng khác nhau được thực hiện trên một hệ phần cứng chung

Chỉ với một sự thay đổi trong những tham số phần mềm, một thiết bị

vô tuyến cấu hình mềm có thể có được những thay đổi khác nhau về đặc tính và tham số kỹ thuật: về chế độ công tác, về dải tần, phương pháp điều chế hay phương pháp mã hoá dữ liệu Nói cách khác, với cùng một phần

Trang 2

cứng, có thể thực hiện được những chức năng khác nhau tại những thời điểm khác nhau Những kỹ thuật mới có thể được đưa vào thiết bị vô tuyến cấu hình mềm nhanh chóng, dễ dàng, với giá thành thấp nhất Không chỉ có thế, một thiết bị vô tuyến cấu hình mềm có thể thực hiện được ở nhiều chế

độ, nhiều dải tần công tác khác nhau và ở nhiều dạng điều chế khác nhau

Do đó, những nhà sản xuất các thiết bị cũng chỉ cần tập trung vào phát triển một nền phần cứng chung

Với những tiện ích to lớn của kỹ thuật “vô tuyến cấu hình mềm” như vậy, nội dung đồ án của tôi sẽ đi vào nghiên cứu một cách tổng quan về kiến trúc của một thiết bị vô tuyến cấu hình mềm; trình bày những vấn đề chung nhất về một thiết bị vô tuyến cấu hình mềm Trên cở sở đó, tiến hành nghiên cứu, thiết kế và thử nghiệm một bộ phận cấu thành của thiết bị vô

tuyến cấu hình mềm Đó là module cấu hình và hiển thị, có chức năng

thiết lập cấu hình cho hệ thống và giao tiếp với người sử dụng qua hiển thị trên màn hình LCD

Nội dung đồ án của tôi sẽ gồm 3 chương như sau:

Chương 1: Tổng quan về kỹ thuật vô tuyến cấu hình mềm – trình

bày một cách tổng quan nhất về kỹ thuật vô tuyến cấu hình mềm, khái niệm thiết bị vô tuyến cấu hình mềm, kiến trúc và tính ưu việt của thiết bị vô tuyến cấu hình mềm

Chương 2: Cấu hình cho các thiết bị FPGA – trình bày cấu trúc

chung của thiết bị FPGA, nghiên cứu các phương pháp cấu hình cho những thiết bị FPGA của hãng Altera, làm cơ sở để tiến hành bài toán đặt ra ở chương 3

Chương 3: Thiết kế, thử nghiệm và kiểm tra – trình bày các nội

dung được tiến hành trong quá trình thực hiện bài toán: thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm

Kết luận: tóm tắt những nội dung đã thực hiện được trong quá trình

Trang 3

thực nội dung đồ án và đưa ra hướng phát triển tiếp theo của nội dung đồ án.

Do nội dung của vấn đề rất rộng, thời gian thực hiện đồ án có hạn và kinh nghiệm bản thân nên không tránh khỏi những thiếu sót trong nội dung

đồ án Rất mong sự đóng góp của các thầy giáo, cô giáo và tất cả các bạn đọc Mọi ý kiến đóng góp xin gửi về cho tác giả

Em xin chân thành cảm ơn!

Trang 4

CHƯƠNG 1 TỔNG QUAN

VỀ KỸ THUẬT VÔ TUYẾN CẤU HÌNH MỀM

1.1 Giới thiệu về thiết bị vô tuyến cấu hình mềm

Thiết bị vô tuyến cấu hình mềm (Software Defined Radio - SDR) là một kĩ thuật giao diện vô tuyến trong đó nhiều chuẩn mực thông tin vô tuyến được tích hợp lên một hệ thống thiết bị thu phát đơn lẻ SDR là một kiểu kiến trúc vô tuyến mới dựa trên sự phát triển của công nghệ điện tử những năm gần đây, bao gồm một dải rộng các kỹ thuật thiết kế để thực hiện một hệ thống thu phát mềm dẻo

Kỹ thuật SDR cho phép sử dụng những tiến bộ trong kỹ thuật số như những bộ chuyển đổi dữ liệu hiệu suất cao, những giao tiếp truyền dữ liệu, những bộ xử lý tín hiệu số (Digital signal Process - DSP) và những ma trận cổng logic trường lập trình được (Field-Gate Programable Array - FPGA) hiệu suất cao SDR là hệ thống mà những chức năng của hệ thống vô tuyến hiện đại được thực hiện và được định nghĩa trong phần mềm Ví dụ như trong dải tần số trung tần, độ rộng dải thông, điều chế, hàm mã hoá

Theo Forum SDR, SDR không chỉ có phần mềm mà SDR được mô tả như là một tập hợp của những kỹ thuật phần cứng và phần mềm cho phép tái cấu hình hệ thống các kiến trúc cho mạng không dây và thiết bị đầu cuối người dùng

Hình 1.1 dưới đây đưa ra sơ đồ cấu trúc tổng quát của SDR

Trong cấu trúc chung, SDR gồm các khối tần số vô tuyến, khối tần số trung tần và khối tần số băng gốc Khối tần số vô tuyến gồm những module phần cứng xử lý tín hiệu tương tự thu được từ anten, khối tần số trung tần

và khối tần số băng gốc, ở phía sau khối tần số vô tuyến, gồm những

Trang 5

module phần cứng xử lý các tín hiệu số.

Hình 1.1 Sơ đồ cấu trúc tổng quát của SDR

Trong một SDR, phần lớn các khối chức năng được thực hiện bằng một module phần mềm và một khối xử lí tốc độ cao Như vậy, một cấu trúc phần cứng có thể hỗ trợ đa chuẩn mực liên lạc vô tuyến mà không cần thay thế phần cứng Trước các yêu cầu về đa mục đích sử dụng của các thiết bị hiện nay và nhu cầu nâng cấp thiết bị đơn giản thì SDR là một sự đáp ứng tốt nhất

1.2 Các giai đoạn phát triển của SDR

Kỹ thuật vô tuyến đã phát triển từ sự phụ thuộc vào phần cứng hướng đến phụ thuộc vào phần mềm Có nhiều quan điểm, coi SDR như bước tiếp theo của quá trình phát triển kỹ thuật vô tuyến Hình vẽ 1.2 dưới đây trình bày 4 giai đoạn phát triển của kỹ thuật SDR Sự phát triển của tất cả những

kỹ thuật vô tuyến bắt đầu với những thiết bị vô tuyến cấu hình cứng Trong tương lai, những thiết bị vô tuyến cấu hình mềm (SDRs) sẽ được phát triển mềm dẻo hơn và có nhiều tính năng hơn Xa hơn nữa, thiết bị vô tuyến cấu hình mềm lý tưởng sẽ được đưa ra với nhiều tính năng và khả năng linh hoạt nhất

Trang 6

Hình 1.2 Các giai đoạn phát triển của SDR

1.2.1.Thiết bị vô tuyến cấu hình cứng

Các thiết bị vô tuyến loại này thường có khối lượng rất nặng, nhưng lại có độ bền cao Tất cả các thành phần của thiết bị đều là phần cứng Các phím số và chuyển mạch là phương tiện duy nhất cho người sử dụng thao tác với thiết bị Bất kì một sự thay đổi nào trong tần số hoạt động đòi hỏi sự thay thế vật lí các thạch anh xác định tần số hoạt động của máy vô tuyến

Hình 1.3 Sơ đồ cấu trúc tổng quát của thiết bị vô tuyến cấu hình cứng

Trang 7

1.2.2 Thiết bị vô tuyến được điều khiển bằng phần mềm

Các thiết bị vô tuyến loại này được xây dựng sử dụng kĩ thuật bán dẫn

số hiện đại Mạch tích hợp số bên trong các thiết bị vô tuyến điều khiển bằng phần mềm cho phép kiểm soát giới hạn các chức năng được thể hiện bằng phần mềm Ví dụ các chức năng kiểm soát bao gồm tái lập trình tần

số, thay đổi các khoá mật, các phím và chuyển mạch có thể lập trình được Tuy nhiên, các thiết bị vô tuyến loại này không thể thay đổi các dạng điều chế hoặc băng tần hoạt động Hầu hết các thiết bị vô tuyến hiện đại ngày nay có thể được phân loại như là các thiết bị vô tuyến được điều khiển bằng phần mềm

1.2.3.Thiết bị vô tuyến cấu hình mềm

Thuật ngữ “vô tuyến cấu hình phần mềm” có liên quan với một số

lượng lớn những công nghệ khác nhau và không tồn tại định nghĩa chuẩn Thuật ngữ thường xuyên sử dụng hướng theo một bộ phận thu phát vô tuyến mà những tham số được định nghĩa bằng phần mềm và những hoạt động vô tuyến có thể được tái cấu hình bởi sự nâng cấp của phần mềm đó Phần lớn các thành phần trong thiết bị SDR được miêu tả bằng phần mềm SDR khác với thiết bị vô tuyến điều khiển bằng phần mềm là các chip DSP được sử dụng để tạo ra rất nhiều kiểu điều chế, các bộ lọc, và các giao tiếp không khí Tuy nhiên, phần đầu cuối phía trước RF của SDR vẫn còn được thực hiện bởi mạch tương tự, dẫn tới làm cho thiết kế cồng kềnh, nhiều anten, và phức tạp trong kiến trúc

1.2.4 Thiết bị vô tuyến cấu hình mềm lí tưởng

SDR lí tưởng khác SDR thông thường ở chỗ, tất cả các thành phần trong máy vô tuyến đều được thể hiện bằng phần mềm, bao gồm cả đầu cuối phía trước RF SDR lí tưởng là sản phẩm mong muốn có được sự cải thiện sâu sắc về chất lượng của toàn bộ hệ thống Tuy nhiên, do những hạn

Trang 8

chế trong kĩ thuật và công nghệ, chưa thể thiết kế được SDR lí tưởng trong tương lai gần.

1.2.5 Sơ đồ khối của thiết bị vô tuyến cấu hình mềm

Hình 1.3 trình bày sơ đồ khối của thiết bị vô tuyến cấu hình mềm

Hình 1.4 Sơ đồ khối của thiết bị vô tuyến cấu hình mềm

SDR (giống như phần lớn các kiến trúc của mô hình vô tuyến) bao gồm những phần như phần tần số vô tuyến (RF), phần tần số trung tần (Immidiate Frequency - IF), phần tần số băng gốc

Tín hiệu tương tự RF được thu bởi antenna thu, sau đó qua bộ biến đổi

từ RF xuống IF để tạo ra một tín hiệu tương tự IF Tín hiệu IF được đưa đến bộ ADC để tạo ra tín hiệu số IF Tín hiệu số IF được đưa qua bộ chuyển đổi số xuống số (DDC - Digital Down Converter) để tạo một tín hiệu băng gốc số Sau đó tín hiệu băng gốc số được xử lý tại các thiết bị FPGAs hoặc DSPs, và cuối cùng đưa ra giao tiếp người dùng

Tín hiệu phát đi: phần phát về bản chất là ngược lại với phần thu Tín hiệu số băng gốc được gửi từ bộ xử lý qua thiết bị FPGA đến bộ chuyển đổi số lên (DUC - Digital Up Converter) Tín hiệu sau bộ DUC được đưa qua bộ DAC để tạo ra tín hiệu tương tự IF Tín hiệu tương tự IF được đưa đến bộ chuyển đổi từ IF lên RF để tạo ra một tín hiệu RF tương tự Tín hiệu

Trang 9

tương tự RF sau đó được phát qua antenna ra môi trường vô tuyến.

Người sử dụng thông qua giao diện với người dùng có thể thay đổi hay can thiệp vào cấu hình của hệ thống để đạt được những dịch vụ như mong muốn mà không phải thay thế các module phần cứng như các máy vô tuyến cấu hình cứng

1.3 Tính ưu việt của SDR

Thế kỉ 20 đã chứng kiến sự bùng nổ của thiết bị vô tuyến cấu hình cứng (Hard Defined Radio - HDR) như là một phương tiện liên lạc cho tất

cả các dạng thông tin âm thanh, hình ảnh được truyền qua một khoảng cách dài Phần lớn các thiết bị vô tuyến cấu hình cứng có rất ít hoặc không có sự điều khiển bằng phần mềm Chúng có tuổi thọ ngắn và được thiết kế để có thể thay thế và loại bỏ

Trong thiết bị vô tuyến cấu hình mềm sử dụng các thiết bị số có khả năng lập trình thực hiện các quá trình xử lí tín hiệu cần thiết để thu và phát thông tin băng gốc tại tần số vô tuyến Các thiết bị như các bộ xử lí tín hiệu

số (Digital signal process-DSPs) và các ma trận cổng logic truờng lập trình được (FPGAs) sử dụng phần mềm để cung cấp cho các thiết bị vô tuyến cấu hình mềm những chức năng xử lí tín hiệu cần thiết Kĩ thuật này mang lại sự linh hoạt hơn nhiều và tiềm năng tuổi thọ sản phẩm dài hơn vì các thiết bị vô tuyến có thể được nâng cấp rất hiệu quả bằng phần mềm

Thách thức chủ yếu đối với SDR là trong khi cần cung cấp sự linh động và thông minh mà phần mềm có thể mang lại nhưng vẫn đảm bảo hiệu quả các giải pháp xử lý tín hiệu Hiệu quả có thể được đánh giá bởi chi phí trên mỗi bit thông tin; công suất tiêu thụ trên mỗi bit thông tin và dung lượng vật lí tiêu thụ trên mỗi bit thông tin Hơn nữa, người sử dụng không cần hoặc cũng không muốn biết những kĩ thuật bên trong của thiết bị vô tuyến nhưng vẫn yêu cầu tính hiệu quả cao hơn, linh hoạt hơn và thông minh hơn Đồng thời, các nhà phát triển ứng dụng phần mềm vô tuyến

Trang 10

muốn được cách ly khỏi những chi tiết tính toán và phần cứng xử lí tín hiệu

để hoàn thành tất cả sự phát triển trong một môi trường duy nhất sử dụng một ngôn ngữ lập trình bậc cao

Một thiết bị vô tuyến có một bộ vi xử lý hoặc DSP không nhất thiết là một thiết bị vô tuyến cấu hình mềm Tuy nhiên, một thiết bị vô tuyến mà cấu hình mềm bộ điều chế, bộ sửa lỗi, quá trình mật hoá, đạt được sự kiểm soát toàn bộ phần cứng RF và có thể tái lập trình thì nhất thiết là thiết bị vô tuyến cấu hình mềm Với sự phát triển nhanh chóng của kỹ thuật vô tuyến, thiết bị vô tuyến cấu hình mềm đã được ra đời vào năm 1991 bởi Joe Motila Có nhiều cách định nghĩa khác nhau nhưng cách định nghĩa đúng

nhất về thiết bị vô tuyến cấu hình mềm là: “Một thiết bị vô tuyến được định nghĩa một cách đầy đủ bằng phần mềm và hành vi lớp vật lí của nó có thể biến đổi một cách sâu sắc thông qua thay đổi phần mềm của nó thì thiết bị

vô tuyến đó được gọi là một thiết bị vô tuyến cấu hình mềm” Mức độ tái

cấu hình được xác định bởi một sự tương tác phức tạp giữa số lượng các thành phần chung trong kiến trúc vô tuyến, bao gồm sự xây dựng các hệ thống, các hệ số kiểu antenna, chế độ điện RF, xử lí băng gốc, tốc độ, mức

độ tái cấu hình của phần cứng và sự quản lí công suất

Thiết bị SDR cho phép người sử dụng thay đổi các đặc tính thu-phát như là kiểu điều chế, sự hoạt động băng rộng và băng hẹp, công suất phát

xạ, và các giao tiếp không khí bằng thay đổi phần mềm mà không cần thay thế bất cứ phần cứng nào Các thiết bị vô tuyến truyền thống được tạo nên

từ các phần cứng như transistor hay các mạch tích hợp, và các chức năng của thiết bị là không thay đổi được Trong khi đó, một chip DSP hay linh kiện FPGA trong thiết bị vô tuyến cấu hình mềm là những bộ xử lí tín hiệu

số thời gian thực, do đó có thể thay đổi chức năng của nó bằng cách thực thi các thuật toán phần mềm khác nhau

Những tiến bộ gần đây trong thiết kế và sản xuất chip DSP sẽ cho

Trang 11

phép các chip DSP tiến bộ hơn, có khả năng hỗ trợ đa chức năng Điều này

là do sự phát triển liên tục trong các kĩ thuật chế tạo để tạo thành các thành phần chip có kích thước cực nhỏ, do đó tạo ra các chip DSP tích hợp nhiều chức năng hơn Các thiết bị SDR sẽ tận dụng những tiến bộ của các chip DSP tiên tiến này để có thể thực hiện đa chức năng hỗ trợ các kĩ thuật đa truy cập

1.4 Kiến trúc lý tưởng của SDR

Một thiết bị vô tuyến cấu hình mềm lý tưởng là một thiết bị thu phát, trong đó hoạt động của nó sử dụng phần cứng đa mục đích và rất linh hoạt dưới sự điều khiển của phần mềm Một kiến trúc SDR lí tưởng được đưa ra trên hình 1.5, bộ ADC được giả thiết có tích hợp một bộ lọc chống nhiễu ảnh và bộ DAC được giả thiết có tích hợp một bộ lọc tái tạo lại

Hình 1.5 Mô hình máy vô tuyến cấu hình mềm lý tưởng

Một SDR lí tưởng có những đặc điểm sau:

• Tất cả sơ đồ điều chế, sự phân kênh, các giao thức, và bộ san bằng cho máy phát và máy thu đều được xác định bằng phần mềm trong các hệ thống con xử lí số Điều này được thể hiện trong khối DSP trong hình 1.5 Tuy nhiên, để làm nổi bật tính đơn giản hơn nữa, thì ở đó tồn tại rất nhiều

Trang 12

các giải pháp phần cứng xử lí tín hiệu thích hợp cho khối này.

• Một bộ phân kênh lí tưởng để phân chia tín hiệu đường phát và đường thu, mà không có sự hạn chế về tần số, được sử dụng để thay thế các giải pháp bộ lọc truyến thống Trong các thiết bị vô tuyến đa băng tần hoặc các thiết bị vô tuyến đa chuẩn mực, giới hạn về tần số của bộ phân kênh là một yếu tố hạn chế khả năng linh hoạt của thiết bị Muốn giải quyết vấn đề này, bộ phân kênh cũng có băng thông rất rộng mà các thiết kế hiện tại không thể có được

• Bộ khuyếch đại công suất tuyến tính đảm bảo sự truyền đạt lí tưởng của sự điều chế vô tuyến từ DAC tới một tín hiệu công suất lớn thích hợp cho phát tín hiệu với nhiễu kênh lân cận nhỏ (trong trường hợp lí tưởng là không có nhiễu lân cận) Lưu ý rằng chức năng này cũng có thể được cung cấp bởi kĩ thuật tổng hợp tần số vô tuyến (RF), trong trường hợp đó các chức năng DAC và khuyếch đại công suất sẽ hiệu quả hơn khi được kết hợp thành một khối tổ hợp tần số vô tuyến công suất lớn

• Các bộ lọc chống nhiễu ảnh và bộ lọc khôi phục rõ ràng là cần thiết trong kiến trúc này (không được thể hiện trong hình 1.5) Tuy nhiên, nó liên quan trực tiếp tới sự thi hành, giả thiết rằng ADC và DAC có tốc độ lấy mẫu vài GHz

1.5 Kết luận

Với bất kỳ một kĩ sư hoặc một nhà khoa học kỹ thuật muốn thiết kế một thiết bị vô tuyến mới thì họ sẽ nghĩ về SDR hay HDR? Câu hỏi được đặt ra, và tất nhiên câu trả lời cho câu hỏi này phụ thuộc vào sự ứng dụng

vô tuyến của người thiết kế, yêu cầu về tính linh hoạt, yêu cầu về công suất tiêu thụ, kích thước, cấu trúc, chức năng và lợi ích kinh tế để thiết kế một sản phẩn mới Tuy nhiên với những ưu việt vượt trội của mình, thì sự lựa chọn SDR là tất yếu

Trong thiết bị vô tuyến cấu hình mềm, có sử dụng các linh kiện khả

Trang 13

trình như: DSPs, FPGAs, hay ASICs Do đó với cùng một cấu trúc phần cứng, thiết bị vô tuyến cấu hình mềm có thể thực hiện những chức năng khác nhau, chỉ với sự thay đổi tham số trong phần mềm được nạp vào trong các linh kiện khả trình Module cấu hình trong thiết bị SDR thực hiện cấu hình cho các thiết bị có thể lập trình được (DSP, FPGAs, ASICs) Dữ liệu cấu hình cho các thiết bị khả trình trong thiết bị SDR, được tải về qua giao tiếp với máy tính, hoặc từ MODEM, hay mạng thông tin Dữ liệu cấu hình được lưu trữ trong các thiết bị lưu trữ (như các thiết bị cấu hình hoặc bộ nhớ flash), sẽ được thiết bị chủ thông minh sử dụng để cấu hình cho các thiết bị có khả năng lập trình được trong SDR.

Như vậy, module cấu hình có ý nghĩa và vai trò rất quan trọng đối với

sự linh hoạt, tính mềm dẻo và khả năng tái cấu hình của thiết bị SDR Do

đó, tiến hành tìm hiểu và nghiên cứu các phương pháp cấu hình cho các linh kiện có khả năng lập trình được, để từ đó nghiên cứu thiết kế module cấu hình trong thiết bị SDR và sử dụng màn hình tinh thể lỏng để hiển thị những nội dung của trạng thái cấu hình tạo sự thuận tiện cho người dùng có một ý nghĩa quan trọng

Có rất nhiều nhà sản xuất các linh kiện khả trình trên thị trường hiện nay như: Altera, Xilix, Atmel,…Trong đó, họ các thiết bị FPGA của hãng Altera hiện nay rất phổ biến trên thị trường với giá thành không quá cao

Do đó, nội dung chương 2 của đồ án sẽ tìm hiểu các phương pháp cấu hình cho các họ các thiết bị Altera FPGA nói chung, đặc biệt là thiết bị Altera FLEX 10K Trên cơ sở đó, tiến hành nghiên cứu và thiết kế thử nghiệm module cấu hình và hiển thị của thiết bị SDR Do thời gian có hạn nên trong chương 3 của đồ án, sẽ chỉ tiến hành nghiên cứu và thiết kế thử nghiệm module cấu hình và hiển thị, thực hiện cấu hình cho thiết bị Altera FLEX 10K và hiển thị những nội dung tạo sự thuận tiện cho người sử dụng

Trang 14

CHƯƠNG 2 CẤU HÌNH CHO CÁC THIẾT BỊ FPGA

2.1 Tổng quan về công nghệ FPGA

Công nghệ chế tạo mạch vi điện tử ngày nay đang phát mẽ, từ một mạch tích hợp vi điện tử với cơ sở thiết bị công nghệ tiên tiến chế tạo ra với

số lượng lớn chuyển dần sang các mạch chuyên dụng sản xuất với lô nhỏ tại những cơ sở có công nghệ chưa phát triển Sự thay đổi đó được hình thành nhờ các công cụ thiết kế tự động Động lực chính của quá trình thiết

kế này là giảm thời gian thiết kế, chế tạo vi mạch và tăng tính linh hoạt cho người thiết kế lập trình với những ứng dụng riêng biệt

2.1.1 Cấu trúc của FPGA

FPGA gồm một dãy các phần tử rời rạc có thể được kết nối với nhau bằng các nguồn kết nối chung Các kết nối giữa các phần tử có thể lập trình được được minh họa ở hình 2.1 Nó gồm dãy hai chiều các logic block (LB) có thể kết nối bằng các nguồn kết nối chung Nguồn kết nối là đoạn

dây (segment) có thể có chiều dài khác nhau, bên trong các kết nối là các

chuyển mạch lập trình được (programable) dùng để nối các LB với các

segment hoặc giữa các segment với nhau Mạch LB được cài đặt trong FPGA bằng cách ánh xạ các logic vào các LB riêng rẽ và sau đó nối các LB cần thiết qua các chuyển mạch Trong đó có các khối sau:

• LB: Cấu trúc và nội dung của LB được gọi là kiến trúc của nó Kiến trúc của LB có thể được thiết kế nhiều cách khác nhau Một số LB có thể chỉ là các cổng NAND với 2 đầu vào, tuy nhiên nó có thể là một bộ dồn kênh (multiplexer), hay các bảng tìm kiếm LUT (Look-Up Table) Trong một số loại FPGA các khối logic có thể có cấu trúc hoàn toàn giống như PAL Hầu hết các LB đều chứa một số loại flip-flop để hỗ trợ cho việc thực

Trang 15

hiện các mạch tuần tự.

• Các nguồn tài nguyên kết nối: Cấu trúc và các nguồn tài nguyên kết nối trong FPGA được gọi là kiến trúc Routing (Routing Architecture) Kiến trúc Routing gồm các đoạn dây nối và các chuyển mạch lập trình được Các chuyển mạch lập trình được có thể có nhiều cấu tạo khác nhau Giống như

LB, có nhiều cách để thiết kế kiến trúc Routing như: Transitor truyền (Pass-Transitor) được điều khiểu bởi cell SRAM, cầu chì nghịch (anti-fuse), EPROM transitor và EEPROM transitor…

Hình 2.1 Mô tả mô hình của một FPGA

• Các cổng vào/ra : Các đặc tính I/O của các đầu vào và đầu ra được

hỗ trợ tới các chuẩn tín hiệu khác nhau bao gồm: LVDS, BLVDS, LVPECL, LVCMOS, HSTL, SSTL và GTL

Các khối cơ bản của LB của FPGA chính là Logic Cell (LC : gọi là tế bào logic)

Mỗi một LC bao gồm một bộ tạo chức năng (hay bộ tao hàm) 4 đầu

vào, logic nhớ và phần tử lưu trữ (flip-flop loại D) Đầu ra bộ tạo chức

Trang 16

năng của mỗi LC điều khiển cả đầu ra LB hoặc đầu vào D của flip-flop Mỗi một LB có chứa 4 LC và được tổ chức thành 2 phần tương tự nhau, mỗi phần đơn có dạng như hình 2.2 dưới đây (từ đây ta gọi mỗi phần đơn này là một slice):

Hình 2.2 Cấu trúc Cell trong FPGA

• Look-Up Table (LUT): Các bộ tạo chức năng của FPGA thực hiện như LUT có 4 đầu vào Để hoạt động như bộ tạo chức năng, mỗi một LUT

có thể cung cấp một RAM 16x1 bít Hơn nữa 2 LUT trong một phần có thể được kết hợp để tạo một RAM 16x2 bít hoặc 32x1 bít đồng bộ

• Storgare Element: Các phần tử lưu trữ trong một slice của FPGA có thể được sắp đặt như một flip-flop loại D kích hoạt bằng sườn hoặc như một bộ chốt chạy mức Các đầu vào D có thể được điều khiển hoặc bởi bộ tạo chức năng trong Slice hoặc trực tiếp từ đầu vào các Slice (Bỏ qua bộ tạo chức năng) Thêm các đường Clock (CLK) và Clock Enable (CE) Mỗi

Trang 17

một Slice có các tín hiệu Set và Reset đồng bộ (SR và BY) Đường SR ép các phần tử lữu trữ về trạng thái khởi tạo, đặc biệt trong trường hợp cấu hình Đường BY ép các phần tử lưu trữ về trạng thái ngược lại Như đã được lựa chọn 2 đường này có thể được sắp xếp để hoạt động không đồng

bộ Tất cả các tín hiệu điều khiển có thể đảo ngược một cách hoàn toàn độc lập và chúng được chia sẻ bởi 2 flip-flop trong một Slice

• Block RAM: Trong FPGA hợp nhất một vài bộ nhớ RAM theo khối thành khối lớn hơn (gọi là Select RAM+), điều này cần bổ sung các LUT RAM đã được phân phối và kiến trúc bộ nhớ không bền vững này được thực hiện trong các LB, các khối bộ nhớ Block RAM được tổ chức theo các cột Một FPGA có cấu trúc các Logic Cell (hoặc các module) và các đường nối như hình 2.3, các đường nối này được kiểm soát bởi người thiết kế Có nghĩa là chúng ta có thể thiết kế, lập trình và thay đổi các mạch khi muốn Với họ FPGA ngày nay đã vượt qua giới hạn 10 triệu cổng

Hình 2.3 Cấu trúc của FPGA

2.1.2 Phân loại FPGA

Có nhiều loại FPGA của các nhà sản xuất khác nhau, tuy nhiên chúng

Trang 18

có thể chia thành 4 loại như hình 2.4.

Cấu trúc mảng đối xứng (Symmetrical Array), cấu trúc hàng (Row- based), cấu trúc PLD phân cấp (Hierachical PLD), cấu trúc đa cổng (Sea- of-gate)

Xét về mặt sử dụng có 2 loại linh kiện cấu hình cho các kết nối của FPGA :

• Loại SRAM (Static Radom Acces Memory) có thể lập trình nhiều lần

• Loại OTP (One-Time Progammable) chỉ lập trình một lần

Hai loại này khác nhau ở chỗ thực thị của Logic Cell và kỹ thuật tạo sự kết nối trong thiết bị

Hình 2.4 Bốn loại FPGA điển hình

Kiểu hay được dùng hơn cả là kiểu SRAM vì nó có thể lập trình được nhiều lần Thực tế thì SRAM FPGA được nạp chương trình lại mỗi khi bật nguồn, bởi vì FPGA loại này thực chất là một chíp nhớ theo ý muốn Vậy tại sao lại phải cần một chíp PROM nối tiếp hoặc bộ nhớ hệ thống cùng với

Trang 19

mỗi SRAM FPGA Cấu trúc của 2 loại được thể hiện ở hình 2.5 và hình 2.6 sau đây:

•Loại SRAM có thể lập trình lại:

- SRAM xác định các đường nối

- SRAM xác định đơn vị Logic trong bảng tra LUT

Hình 2.5 Cấu trúc SRAM FPGA (SRAM Logic Cell)

•Loại OTP cho phép lập trình một lần:

- Các đường nối không được phép nối như dạng cầu chì

- Logic là các cổng truyền thống

Hình 2.6 Cấu trúc OPT FPGA ( OPT Logic Cell)

Trong SRAM Logic Cell, thay vì các cổng thông thường là một bảng tra LUT xác định đầu ra dựa vào các giá trị đầu vào

Trang 20

Trong OTP Logic Cell sử dụng kết nối giữa các đường theo dạng nối ngược (Có nghĩa là ngược với cầu chì, sự kết nối tạo ra và không bị nóng cháy trong suốt thời gian nạp chương trình) để tạo ra các kết nối cố định trong chip Hơn nữa OTT FPGA không cần SPROM nào khác, điều này có nghĩa là nạp chương trình vào thẳng FPGA Tuy nhiên mỗi lần thay đổi thiết kế lại phải vứt bỏ đi một con chip Loại OTP Logic Cell tương tự như

họ PLD với các cổng và flip-flop như D, T hay RS

3 Thay thế các chip tích hợp nhỏ trong mạch ngẫu nhiên: Các mạch trong sản phẩm thương mại thường chứa nhiều chíp SSI (Small Scale Integrated) Trong nhiều trường hợp thì chíp SSI được thay thế bằng FPGA

và kết quả là giảm diện tích bo mạch đi đáng kể

4 Chế tạo mẫu: FPGA rất thích hợp cho việc tạo các sản phẩm mẫu Giá thành thấp, thời gian ngắn

5 Máy tính dựa trên FPGA: Một loại máy tính mới có thể được chế tạo với các FPGA có thể tái lập trình ngay trên mạch FPGA Các máy này có một bo mạch chứa các FPGA mà các chân nối với các chíp lân cận giông như thông thường

2.1.4 Quá trình thiết kế cơ bản trên FPGA

Quá trình thiết kế trên FPGA sử dụng hệ thống CAD (Computer Aided Design) Hình 2.7 biểu diễn các bước trong hệ thống CAD tiêu biểu để tạo

Trang 21

ra một mạch FPGA Từ trên hình vẽ ta thấy, điểm bắt đầu cho mạch thiết

kế là mạch logic ban đầu Bước này cần một sơ đồ biểu diễn mạch hay một

mô tả VHDL hoặc một đặc tả các biểu thức Boolean Từ các đầu vào như vậy, chúng ta được chuyển thành dạng chuẩn như là các biểu thức Boolean Các biểu thức Boolean này được xử lý bằng công cụ tối ưu logic (rút gọn các biểu thức), mục đích của việc này là để tối ưu về diện tích và tốc độ của mạch thiết kế Sau khi đã được tối ưu, các biểu thức Boolean được chuyển tới mạch logic block của FPGA thông qua chương trình ánh xạ công nghệ (technology mapping), bộ ánh xạ sẽ tối thiếu số khối được dùng và giảm đường dẫn để tối ưu về giữ chậm Sau khi ánh xạ mạch vào các logic block thì cần phải quyết định đặt mỗi khối ở đâu, công việc này do Placement giải quyết Bước cuối cùng trong hệ thống CAD là nối kết do phầm mềm Rounting thực hiện, chúng ấn định các đoạn dây FPGA và chọn các chuyển mạch có thể lập trình phù hợp với các kết nối trong logic block Sau khi thực hiện xong bước này, kết quả của CAD sẽ được nạp vào đơn vị lập trình tạo ra chíp FPGA cuối cùng

Hình 2.7 Quá trình thiết kế trên FPGA

Sau đây ta sẽ phân tích từng giai đoạn của quá trình thiết kế CAD.

2.1.4.1 Tối ưu Logic

Trang 22

Đây chính là công việc sửa lại cấu trúc để giảm sự phức tạp của mạch ban đầu Trong giai đoạn này không chú ý đến kiểu của các phần tử sẽ được dùng sau này nên nó còn được gọi là tối ưu không phụ thuộc vào công nghệ (technology-Independent) Tiến hành tối ưu chính là làm giảm

sự dư thừa hoặc loại bỏ những biểu thức con chung Mạch sau khi được tối

ưu có chức năng tương đương với mạch ban đầu

2.1.4.2 Ánh xạ công nghệ

Sau khi tối ưu logic, ánh xạ công nghệ sẽ biến đổi mạch này thành mạch cuối cùng Điều này sẽ được làm bằng cách chọn lựa từng phần của mạng

và mỗi cái sẽ được thực hiện bởi một trong những phần tử của mạch có sẵn

và xác định những mạch này sẽ được nối với nhau như thế nào Sau đây là

3 phương pháp ánh xạ công nghệ chính

a) Ánh xạ công nghệ dựa vào thư viện: Phương pháp ánh xạ này đã được tiêu chuẩn hóa, trong này là tập các phần tử mạch có sẵn sẽ được biểu diễn như một thư viện các hàm và xây dựng tối ưu sẽ được chia thành 3 vấn đề : phân rã (decomposition), so trùng (matching), lập phủ (convering) Đầu tiên mạng phân rã để biễu diễn bởi các cổng NAND 2 đầu vào, sự phân rã bảo đảm rằng không có nút nào trong mạch là quá lớn Sau khi phân rã, mạng sẽ được phân hoạch thành một rừng cây, mạch con tối ưu che từng cây và cuối cùng mạch che phủ mạng được tập hợp từ các mạch con

b) Ánh xạ công nghệ dùng bảng tìm kiếm: Bảng tìm kiếm (Look Up Table) là cơ sở của những LB trong FPGA Một bảng gồm K đầu vào là một bộ nhớ kỹ thuật số mà có thể thực hiện bất kỳ một hàm Boolean nào gồm K biến K đầu vào được dùng để định vị cho 2Kbít nhớ được lưu trữ trong bảng sự thật của hàm Boolean Với bảng LUT gồm K đầu vào có thể thực hiện được 22 K hàm boolean khác nhau Tuy nhiên thư viện biểu diễn bảng LUT K đầu vào lại không cần tất cả 22 K hàm khác nhau do có sự

Trang 23

hoán vị các đầu vào, đảo ngược các cổng vào và cổng ra và như vậy sẽ giảm tối thiếu số lượng hàm trong thư viện.

2.1.4.3 Sắp đặt các phần tử (Placement)

Giai đoạn này của thiết kế gồm các công việc chính như sau:

Phân chia hệ thống (System Partitioning): Một hệ thống vi điện tử bao gồm nhiều khối chức năng, nếu một khối chức năng quá lớn thì chúng ta phải thực hiện việc tách hoặc phân chia chức năng của khối đó ra làm các khối nhỏ hơn theo mục đích và định hướng mà chúng ta cần chỉ định

a) Lên sơ đồ mặt bằng, bố trí các khối (Floorplanning): Sau khi phân chia hệ thống xong sẽ thực hiện việc lên sơ đồ mặt bằng, bố trí các khối Floorplanning thực hiện các công việc như tối thiểu hóa độ dài kết nối và trễ tín hiệu giữa các khối, sắp đặt các khối đã cố định và đặt lại các khối di động được thực hiện trước Placement, công việc sắp đặt, bố trí các phần tử logic trên từng khối, tổ chức các vùng kết nối giữa các khối, phân phối mặt bằng cho nguồn và các đường vào ra

b) Sắp xếp các phần tử (Placement): Placement là bước tiếp theo của Floorplanning, nó thực hiện việc sắp đặt các phần tử logic vào một khối di động đây là bước quan trọng trong thiết kế mạch và rất phức tạp, nếu Placement không tốt sẽ dẫn đến việc chiếm diện tích lớn và giảm tốc độ thực thi, nhiều khi còn dẫn tới khả năng không Rounting được Rất may là công việc này được thực hiện hoàn toàn tự động Placement, System Partitioning và Floorplanning có thể hiểu chung là phân chia hệ thống trên FPGA - tức là lên sơ đồ mặt bằng, bố trí các khối logic, và ta có thể gọi chung là Placement

c) Mục tiêu và đối tượng của Placement: Mục tiêu chính của một công cụ placement (Sắp đặt bố trí các phần tử logic trên từng khối) là sắp đặt tất

cả các phần tử logic trong cùng các khối di động trên một chip Về lý tưởng mà nói, đối tưởng của placement là:

Trang 24

- Bảo đảm công cụ định tuyến có thể hoàn chỉnh bước định tuyến

- Tối thiểu hoá tất cả các khoảng trễ trên đường kết nối

- Làm cho mật độ của chíp càng cao càng tốt

- Tối thiểu hoá tiêu thụ nguồn

- Tối thiểu hoá sự xuyên nhiễu giữa các tín hiệu

Các đối tượng đó rất khó để định nghĩa theo cách giải quyết bằng thuật toán và thậm chí trong thực tế rất khó gặp Các công cụ placement hiện nay thường sử dụng nhiều đặc điểm và các tiêu chuẩn riêng

d) Gán chân (Pin Assignment): Mục đích của việc gán chân là định nghĩa tín hiệu mà mỗi chân sẽ nhận được Việc gán chân có thể thực hiện được trong quá trình placement hoặc sau quá trình này Nếu các block không được thiết kế thì phép gán tốt cũng cải tiến được placement, nếu các block đã được thiết kế thì Pin Assignmen có thể thay đổi một vài chân nhờ chức năng tương đương

2.1.4.4 Định tuyến trên FPGA (Rounting)

Rounting là công việc cuối cùng trong quá trình thiết kế, sau khi ta đã sắp đặt và bố trí xong các phần tử logic trên các khối di động thì đây chính là việc kết nối bằng cách định tuyến cho chíp đó Việc định tuyến gồm 2 bước: định tuyến tổng thể và định tuyến chi tiết Định tuyến tổng thể được thực hiện trước, sau đó các định tuyến chi tiết thực hiện theo định hướng chung của định tuyến tổng thể đã đưa ra Định tuyến tổng thể lên kế hoạch

đi dây bằng cách tìm ra các kênh sẽ được sử dụng cho mục đích gì, cho bộ phận nào Có nhiều kiểu định tuyến tổng thể đối với các loại FPGA, tuy nhiên các thuật toán toán tìm đường ngắn nhất thì tương tự nhau Có hai phương pháp chính cho định tuyến tổng thể là: Một đường chính tại một thời điểm, hoặc tất cả các đường cùng một lần Cùng với sự có mặt của giản đồ thời gian định tuyến các đối tượng, vấn đề định tuyến trở nên khó hơn và yêu cầu có sự hiểu biết về sự khác nhau giữa việc tìm đường ngắn nhất và

Trang 25

tìm đường với độ trễ nhỏ nhất Các kiểu định tuyến chi tiết khác nhau gồm có định tuyến kênh và định tuyến dựa trên vùng hoặc ma trận Định tuyến chi tiết với 2 lớp kim loại là vấn đề được đề cập đến nhiều nhất Các vấn đề chính của định tuyến là:

- Định tuyến được phân thành định tuyến tổng thể và chi tiết

- Các thuật toán định tuyến phải phù hợp với các thuật toán placement

- Định tuyến không thể hoàn thành nếu không đi dây được

- Các đường nguồn và xung nhịp được điều khiển trong trường hợp đặc biệt

- Độ rộng các đường nguồn và xung nhịp đồng bộ được thiết lập bằng tay

2.1.4.5 Tải nạp chương trình

Đây là khâu tạo ra sản phẩm của thiết kế Tải chương trình nhìn chung được xem như là tải thông tin xuống thiết bị dễ biến đổi như SRAM FPGA Thông tin cấu hình của thiết bị được nạp vào trong bộ nhớ của thiết bị Luồng các bit mà nó được truyền đi có chứa tất cả các thông tin định nghĩa logic và các đường nối của thiết kế và thông tin này khác nhau đối với thiết kế khác nhau Các thiết bị SRAM mất đi cấu hình của chúng khi mất nguồn vì vậy các luồng bit cần phải cất ở đâu đó để giải quyết bài toán Một nơi thường được dùng để cất thông tin cấu hình thiết bị, đó là PROM nối tiếp Đây là thành phần kết hợp với phần cứng mà nó nối từ máy tính tới bo mạch mà bo mạch này có chứa thiết bị đích Nạp chương trình được dùng lập chương trình cho tất cả các thiết bị logic có thể lập trình được không bị thay đổi, chẳng hạn như PROM nối tiếp Việc nạp chương trình thực hiện giống chức năng như tải chương trình, riêng các thông tin về cấu hình vẫn còn sau khi mất điện

2.2 Cấu hình cho các thiết bị Altera FPGA

2.2.1 Giới thiệu

Trang 26

FPGA là một chip logic số có thể lập trình được, thực hiện bất cứ chức

năng số nào FPGA có thể được tái cấu hình rất nhiều lần với những chức năng khác nhau

Đặt cấu hình cho một thiết bị FPGA có nghĩa là tải vào trong thiết bị một luồng những bít ‘0’ và ‘1’ thông qua vài chân đặc biệt (như chân DCLK, nCONFIG, nSTAUS)

Thiết bị FPGA có hai chế độ: “Chế độ đặt cấu hình” (configuration mode) và “chế độ sử dụng” (user mode ) Khi thiết bị FPGA đang được đặt

cấu hình thì ta gọi là nó đang ở chế độ cấu hình Khi thiết bị FPGA được cấu hình xong, nó chuyển sang chế độ “người sử dụng” và hoạt động theo chức năng mà nó đã được cấu hình

Thiết bị FPGA lưu dữ liệu cấu hình trong các cell SRAM, nhưng SRAM sẽ bị mất dữ liệu khi mất nguồn nên mỗi khi thiết bị được đưa vào hoạt động, chúng cần được cấu hình lại

Những họ thiết bị của Alterra gồm: Stratix, Cyclone, APEX II, APEX 20K (bao gồm APEX 20KE và APEX 20KE), Mercury, ACEX 1K, FLEX

10K (gồm FLEX 10KE và FLEX 10KA) và FLEX 6000 có thể được cấu

hình sử dụng một trong 7 sơ đồ cấu hình như được chỉ ra trong bảng 1.1 dưới đây:

Bảng 1.1 Họ thiết bị và những sơ đồ cấu hình tương ứng được hỗ trợ

Họ thiết bị

Trang 28

- Sử dụng một cable Download

• Cấu hình nối tiếp chủ động (Active Serial - AS) (Được hỗ trợ cho

họ các thiết bị Stratix II và Cyclone)

• Cấu hình đồng bộ song song bị động (Passive Parallel Synchronous - PPS) (Được hỗ trợ cho thiết bị APEX 20K, Mercury, ACEX 1K, FLEX 10K)

• Cấu hình song song bị động nhanh (Fast Passive Parallel - FPP) (Được hỗ trợ cho những thiết bị Stratix và APEX II)

- Sử dụng một thiết bị cấu hình nâng cao

- Sử dụng một bộ vi xử lý

• Cấu hình đồng bộ song song bị động (Passive Parallel Asynchronous - PPA) (Được hỗ trợ cho họ các thiết bị Strax, APEX II, APEX 20K, Mercury, ACEX 1K, FLEX 10K)

• Cấu hình đồng bộ nối tiếp bị động (Passive Serial Asynchronous PSA) (Được hỗ trợ cho thiết bị FLEX 6000)

• Chương trình JTAG và cấu hình JTAG (Joint Test Action Group) (Stratix, Cyclone, APEX II, APEX 20K, Mercury, ACEX 1K, FLEX 10K)

2.2.2 Tổng quan cấu hình cho thiết bị trong những sơ đồ bị động

Trong suốt quá trình hoạt động, các Altera FPGA lưu trữ dữ liệu cấu hình trong các cell (tế bào) SRAM Vì bộ nhớ SRAM dễ thay đổi nên các

tế bào SRAM phải được nạo dữ liệu cấu hình mỗi khi thiết bị FPGA bật nguồn Sau khi thiết bị được cấu hình thì các thanh ghi và các chân I/O của

nó phải được thiết lập trạng thái hoạt động ban đầu Sau khi thiết lập trạng thái làm việc ban đầu, thiết bị đưa chế độ người sử dụng (mode-user) vào trong sự hoạt động của hệ thống Hình 2.9 thể hiện dạng tín hiệu các chân

Trang 29

cấu hình trong suốt quá trình cấu hình, thiết lập chế độ hoạt động ban đầu

và chế độ người sử dụng

Hình 2.9 Dạng tín hiệu các chân cấu hình

Sự chuyển tiếp từ mức thấp lên mức cao của tín hiệu nCONFIG là thời điểm bắt đầu chu trình cấu hình Chu trình cấu hình gồm có 3 giai đoạn: reset, cấu hình và thiết lập trạng thái hoạt động ban đầu Khi tín hiệu nCONFIG ở mức thấp, thì thiết bị trong giai đoạn reset Khi thiết bị reset xong, chân nCONFIG phải ở mức logic cao để thiết bị FPGA giải phóng chân nSTATUS Khi chân nSTATUS được giải phóng, thì nó được kéo lên mức cao bằng một điện trở kéo lên và thiết bị FPGA sẵn sàng để nhận dữ liệu cấu hình Trước và trong suốt quá trình cấu hình tất cả các chân I/O người sử dụng ở trạng thái trở kháng cao Những thiết bị Stratix, Cyclone, APEX II, APEX 20K, Mercury, ACEX 1K, và FLEX 10KE có những điện trở yếu pull-up trên những chân I/O sẽ được kéo lên trước khi đặt cấu hình

và trong khi đặt cấu hình

Những tín hiệu nCONFIG và nSTATUS sẽ phải ở mức logic cao để cho thiết bị vào giai đoạn cấu hình Thiết bị cấu hình gửi dữ liệu cấu hình vào chân dữ liệu DATA và nguồn đồng hồ trên chân DCLK (cho sơ đồ cấu hình đồng bộ) Dữ liệu cấu hình sẽ được chốt vào trong FPGA trên sườn lên của DCLK Sau khi FPGA đã nhận tất cả dữ liệu cấu hình thành công,

nó sẽ giải phóng chân CONF_DONE, tín hiệu này sẽ được kéo lên mức cao bởi điện trở pull-up Sự di chuyển từ mức thấp lên mức cao trên

Trang 30

CONF_DONE xác định rằng giai đoạn cấu hình đã hoàn thành và giai đoạn khởi tạo của thiết bị có thể bắt đầu.

Một chân lựa chọn INIT_DONE được cho phép, những tín hiệu cuối của việc khởi tạo và bắt đầu của chế độ người dùng Trong suốt quá trình khởi tạo, mức logic trong những thanh ghi bên trong và những thanh ghi I/O được khởi tạo và những bộ đệm I/O được cho phép Khi việc khởi tạo hoàn thành, tín hiệu trên chân INIT_DONE được giải phóng và được kéo lên mức cao bởi một điện trở pull-up ngoài Các tín hiệu DCLK, DATA (đối với FLEX 6000), và DATA0 (đối với các thiết bị Stratix, Cyclone, APEX II, APEX 20K, Mercury, ACEX 1K, FLEX 10K) không nên thả nổi sau khi việc đặt cấu hình được hoàn thành Những tín hiệu này nên để ở mức cao hay mức thấp trên bo mạch của bạn

Một chu trình tái cấu hình được khởi tạo bằng cách đặt tín hiệu trên chân nCONFIG từ mức cao xuống mức thấp và sau đó lại chuyển tín hiệu trên chân này từ mức thấp lên mức cao Khi tín hiệu nCONFIG được kéo xuống mức thấp, thì tín hiệu trên các chân nSTATUS và CONF_DONE cũng được kéo xuống mức thấp và tất cả những chân I/O ở mức ba trạng thái Mỗi khi tín hiệu trên các chân nCONFIG và nSTATUS trở lại mức logic cao, quá trình cấu hình được bắt đầu

Hình 2.10 chỉ ra sơ đồ trạng thái đơn giản của quá trình đặt cấu hình

2.2.3 Sự lựa chọn một sơ đồ cấu hình

Dữ liệu cấu hình cho những thiết bị Altera có thể được tải vào trong các Altera FPGA sử dụng sơ đồ cấu hình tích cực, thụ động hoặc JTAG Khi sử dụng một sơ đồ cấu hình tích cực với một thiết bị cấu hình nối tiếp, thiết bị FPGA trên bo mạch đích tạo ra những tín hiệu điều khiển và những tín hiệu đồng bộ Khi cả hai thiết bị đã sẵn sàng cho giai đoạn đặt cấu hình, thiết bị cấu hình nối tiếp gửi dữ liệu đến FPGA

Trang 31

Khi sử dụng bất cứ sơ đồ cấu hình thụ động nào, thiết bị Altera kết hợp trong một hệ thống với một thiết bị cấu hình Altera hoặc một máy chủ thông minh (như một bộ vi xử lý) điều khiển quá trình đặt cấu hình.

Dữ liệu cấu hình cho các thiết bị Altera FPGA được lưu trữ trong các thiết bị lưu trữ như: một thiết bị cấu hình, một đĩa cứng, RAM, hoặc một bộ nhớ hệ thống khác Khi sử dụng chế độ cấu hình thụ động để thực hiện cấu hình cho các thiết bị, chúng ta có thể thay đổi chức năng của thiết bị đích FPGA trong khi hệ thống đang hoạt động bằng việc tái cấu hình nó

Trang 32

Hình 2.10 Sơ đồ trạng thái của quá trình đặt cấu hình

Trang 33

2.2.3.1 Lựa chọn một sơ đồ cấu hình

Dữ liệu cấu hình được truyền vào cho các thiết bị FPGA, có thể sử dụng một trong các sơ đồ cấu hình: chủ động, bị động hoặc JTAG Khi sử dụng các sơ đồ chủ động với một thiết bị cấu hình nối tiếp, FPGA đích tạo

ra các tín hiệu điều khiển và tín hiệu đồng bộ Khi cả hai thiết bị đã sẵn sàng bắt đầu giai đoạn cấu hình thì thiết bị cấu hình nối tiếp gửi dữ liệu tới thiết bị FPGA

Khi sử dụng các sơ đồ cấu hình bị động thì thiết bị Altera được tích hợp lên một hệ thống với một thiết bị cấu hình Altera hoặc một máy chủ thông minh (như một bộ VXL) điều khiển quá trình cấu hình Thiết bị cấu hình hoặc máy chủ cung cấp dữ liệu cấu hình từ một thiết bị lưu trữ (thiết

bị cấu hình, đĩa cứng, RAM, hoặc bộ nhớ hệ thống khác)

Khi sử dụng sơ đồ cấu hình bị động thì bạn có thể thay đổi chức năng thiết bị đích khi hệ thống đang hoạt động bằng cách cấu hình lại nó

Các thiết bị Altera được hỗ trợ một số sơ đồ cấu hình Không phải tất

cả các họ thiết bị đều được hỗ trợ tất cả các sơ đồ cấu hình Bảng 1-1 cho chúng ta biết những họ thiết bị khác nhau của Altera với những sơ đồ cấu hình tương ứng mà chúng được hỗ trợ Khi bạn quyết định chọn sơ đồ cấu hình nào cho hệ thống của bạn thì bạn sẽ cần điều khiển các chân điều khiển lựa chọn chế độ MSEL của FPGA để thiết lập chế độ cấu hình theo mong muốn của bạn

2.2.3.2 Sơ đồ cấu hình PS

Sơ đồ cấu hình PS được hỗ trợ trong các họ thiết bị Stratix, Cyclone, APEX II, APEX 20K, Mercury, ACEX 1K, FLEX 10K, và FLEX 6000 Cấu hình PS có thể được thực hiện sử dụng một cáp download Altera, một thiết bị cấu hình, một thiết bị cấu hình nâng cao hoặc một máy chủ thông minh (như là một bộ VXL) Trong suốt quá trình cấu hình PS, dữ liệu cấu hình được truyền từ thiết bị lưu trữ (chẳng hạn như một thiết bị cấu hình

Trang 34

hoặc bộ nhớ flash) tới FPGA trên chân DATA (FLEX 6000), hoặc DATA0 (họ Stratix, họ Cyclone, APEX II, APEX 20K, Mercury, ACEX 1K, và FLEX 10K) Dữ liệu cấu hình này được chốt lên FPGA ở sườn lên của tín hiệu DCLK Dữ liệu cấu hình được truyền một bit trên một chu kì đồng hồ.

2.3.3.3 Cấu hình AS

Sơ đồ cấu hình AS được hỗ trợ trong các họ thiết bị Stratix II và Cyclone Cấu hình AS có thể được thực hiện bằng cách sử dụng một thiết

bị cấu hình nối tiếp Altera Trong suốt quá trình cấu hình AS, các thiết bị

họ Stratix II và Cyclone ở chế độ master và thiết bị cấu hình ở chế độ slave

Dữ liệu cấu hình được truyền tới FPGA trên chân DATA0 và được đồng bộ với đầu vào DCLK Dữ liệu cấu hình được truyền một bit trong một chu kì đồng hồ

2.2.3.4 Cấu hình PPS

Sơ đồ cấu hình PPS được hỗ trợ trong họ thiết bị APEX 20K, Mercury, ACEX 1K, và FLEX 10K Cấu hình PPS có thể được thực hiện bằng cách sử dụng một máy chủ thông minh (như một bộ VXL) Trong suốt quá trình cấu hình PPS, dữ liệu cấu hình được truyền từ thiết bị lưu trữ (bộ nhớ flash hoặc một thiết bị cấu hình nâng cao) tới FPGA trên các chân DATA (7 0) Dữ liệu cấu hình này được đồng bộ với đầu vào DCLK Trong sườn lên đầu tiên của DCLK, một byte của dữ liệu cấu hình được chốt lên FPGA, 8 sườn xuống tiếp theo của DCLK cần để chuyển dữ liệu song song thành dữ liệu nối tiếp trong FPGA

2.2.3.5 Sơ đồ cấu hình FPP

Sơ đồ cấu hình FPP được hỗ trợ các họ thiết bị Stratix, APEX II Cấu hình FPP có thể được thực hiện bằng cách sử dụng một thiết bị cấu hình nâng cao Altera, hoặc một máy chủ thông minh (như một bộ VXL) Trong suốt quá trình cấu hình FPP, dữ liệu cấu hình được truyền từ thiết bị lưu trữ (một thiết bị cấu hình nâng cao hoặc bộ nhớ flash) tới thiết bị FPGA trên

Trang 35

các chân DATA(7 0) Dữ liệu cấu hình này được chốt lên FPGA trên sườn dương của DCLK Dữ liệu cấu hình được truyền 1 byte trên một chu kì đồng hồ.

2.2.3.6 Sơ đồ cấu hình PPA

Sơ đồ cấu hình PPA được hỗ trợ trong các họ thiết bị Stratix, APEX II, APEX 2K, Mercury, ACEX 1K và FLEX 10K Cấu hình PPA được thực hiện bằng cách sử dụng một máy chủ thông minh (một bộ VXL) Trong suốt quá trình cấu hình PPA, dữ liệu cấu hình được truyền từ một thiết bị lưu trữ (thiết bị cấu hình hoặc bộ nhớ flash) tới FPGA trên các chân DATA(7…0) Vì sơ đồ cấu hình này là không đồng bộ, nên các tín hiệu điều khiển được sử dụng để điều chỉnh chu kì cấu hình

2.2.3.7 Sơ đồ cấu hình PSA

Sơ đồ cấu hình PSA có thể được thực hiện bằng cách sử dụng một máy chủ thông minh (một bộ VXL) Trong suốt quá trình cấu hình PSA, dữ liệu cấu hình được truyền từ một thiết bị lưu trữ (một thiết bị cấu hình hoặc

bộ nhớ flash) tới FPGA trên chân DATA Vì sơ đồ cấu hình này là không đồng bộ nên các tín hiệu điều khiền được sử dụng để điều chỉnh chu kì cấu hình

2.2.3.8 Sơ đồ cấu hình JTAG

Sơ đồ cấu hình JTAG được hỗ trợ trong các họ thiết bị Stratix, Cyclone, APEX II, APEX 20K, Mercury, ACEX 1K, và FLEX 10K Cấu hình JTAG sử dụng giao diện chân IEEE Std 1149.1 và hỗ trợ chuẩn JAM STAPL Cấu hình JTAG có thể được thực hiện bằng cách sử dụng một cáp download Altera hoặc một thiết bị chủ thông minh (như một bộ vi xử lý)

2.2.4 Các sơ đồ cấu hình cho Altera FLEX 10K

Các thiết bị Mercury, APEX 20K (2.5 V), ACEX 1K, và FLEX 10K

có thể được cấu hình sử dụng 1 trong 4 sơ đồ: cấu hình nối tiếp bị động (PS), cấu hình đồng bộ song song bị động (PPS), cấu hình không đồng bộ

Trang 36

song song bị động (PPA), và cấu hình nhóm hoạt động kiểm tra chung

(JTAG) Các sơ đồ cấu hình được lựa chọn bằng cách điều khiển các chân MSEL1, MSEL0 ở mức cao hoặc thấp như chỉ ra ở Bảng 3.1 Nếu ứng dụng của chúng ta chỉ yêu cầu một chế độ cấu hình đơn thì chân MSEL có thể được nối với Vcc hoặc nối với đất Nếu ứng dụng của chúng ta yêu cầu nhiều hơn một cấu hình, bạn có thể chuyển mạch chân MSEL sau khi FPGA được cấu hình thành công Các chân này trong suốt chế độ người sử dụng được chốt cố định để không ảnh hưởng đến hoạt động của thiết bị; tuy nhiên các chân MSEL phải hợp lệ trước khi tái cấu hình được khởi tạo

Bảng 3.1 Lựa chọn sơ đồ cấu hình cho

Mercury, APEX 20K(2.5V), ACEX 1K, và FLEX 10K

Bảng 3-2 Kích thước file Raw binary (.rbf) của Mercury

Thiết bị Kích thước dữ liệu

Trang 37

Bảng 3-3 Kích thước file Raw binary (.rbf) của APEX 20K (2.5V)

Thiết bị Kích thước dữ liệu

Bảng 3-4 Kích thước file Raw binary (.rbf) của ACEX 1K

Thiết bị Kích thước dữ liệu

Bảng 3-5 Kích thước file Raw binary (.rbf) của FLEX 10K

Thiết bị Kích thước dữ liệu

Trang 38

Chúng ta có thể thực hiện đặt cấu hình PS cho Mercury, APEX 20K (2.5 V), ACEX 1K, và FLEX 10K sử dụng một thiết bị cấu hình Altera, một máy chủ thông minh (ví dụ một bộ VXL hoặc thiết bị MAX Altera), hoặc một cáp download.

2.3.4.1.1 Cấu hình PS sử dụng một thiết bị cấu hình

Chúng ta có thể sử dụng một thiết bị cấu hình Altera như một thiết bị cấu hình nâng cao, thiết bị EPC2 hoặc EPC1, để cấu hình cho Mercury, APEX 20K (2.5 V), ACEX 1K, và FLEX 10K sử dụng một chùm bit cấu hình nối tiếp Dữ liệu cấu hình được lưu trữ trong thiết bị cấu hình Hình 2.11 thể hiện những kết nối giao tiếp cấu hình giữa Mercury, APEX 20K (2.5 V), ACEX 1K, và FLEX 10K với một thiết bị đặt cấu hình

Hình 2.11 Cấu hình PS thiết bị đơn sử dụng một thiết bị cấu hình

2.4.1.2 Cấu hình PS sử dụng một bộ vi xử lý

Trong các sơ đồ cấu hình PS, một máy chủ thông minh (ví dụ như một

bộ VXL hoặc CPLD) có thể truyền dữ liệu cấu hình từ một thiết bị lưu trữ (chẳng hạn như bộ nhớ flash) cho các thiết bị Mercury, APEX 20K (2.5 V), ACEX 1K, và FLEX 10K Dữ liệu cấu hình có thể được lưu trữ dưới dạng file RBF (Raw Binary File), HEX (Hexcimal), hoặc TTF(Tabular Text

Ngày đăng: 15/07/2014, 15:55

HÌNH ẢNH LIÊN QUAN

Hình 2.9 Dạng tín hiệu các chân cấu hình - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Hình 2.9 Dạng tín hiệu các chân cấu hình (Trang 29)
Bảng 3-3. Kích thước file Raw binary (.rbf) của APEX 20K (2.5V) - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Bảng 3 3. Kích thước file Raw binary (.rbf) của APEX 20K (2.5V) (Trang 37)
Hình 2.12 Cấu hình PS sử dụng một bộ vi xử lý - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Hình 2.12 Cấu hình PS sử dụng một bộ vi xử lý (Trang 39)
Hình 2.14 đưa ra cách cấu hình cho nhiều thiết bị FPGA một lúc trong  sơ đồ cấu hình nối tiếp bị động, sử dụng một thiết bị cấu hình. - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Hình 2.14 đưa ra cách cấu hình cho nhiều thiết bị FPGA một lúc trong sơ đồ cấu hình nối tiếp bị động, sử dụng một thiết bị cấu hình (Trang 40)
Hình 2.18 Sơ đồ cấu hình PPS cho một thiết bị đơn dùng bộ vi xử lý - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Hình 2.18 Sơ đồ cấu hình PPS cho một thiết bị đơn dùng bộ vi xử lý (Trang 47)
Hình 2.21 Giản đồ thời gian sử dụng chế độ PPA sử dụng nRS và nWS - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Hình 2.21 Giản đồ thời gian sử dụng chế độ PPA sử dụng nRS và nWS (Trang 50)
Hình 2.22 Giản đồ thời gian của sơ đồ PPA - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Hình 2.22 Giản đồ thời gian của sơ đồ PPA (Trang 51)
Hình 2.26 Cấu hình thiết bị sử dụng bộ nhớ ngoài. - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Hình 2.26 Cấu hình thiết bị sử dụng bộ nhớ ngoài (Trang 55)
Hình 3.1 Cable download qua cổng  song song ByteBlasterMV - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Hình 3.1 Cable download qua cổng song song ByteBlasterMV (Trang 58)
Hình   3.2  dưới   đây   đưa   ra   sơ   đồ   cho   nguyên   lý   cho   cable  ByteBlasterMV - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
nh 3.2 dưới đây đưa ra sơ đồ cho nguyên lý cho cable ByteBlasterMV (Trang 59)
Hình 3.3 Kích thước của giắc cắm cái 10-chân ByteBlasterMV - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Hình 3.3 Kích thước của giắc cắm cái 10-chân ByteBlasterMV (Trang 60)
Bảng 3.2. Tên chân tín hiệu và các chế độ hoạt động - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Bảng 3.2. Tên chân tín hiệu và các chế độ hoạt động (Trang 60)
Bảng 3.3 Dải điện áp tuyệt đối cable ByteBlaster - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
Bảng 3.3 Dải điện áp tuyệt đối cable ByteBlaster (Trang 61)
Bảng   3.3   đến   3.5   tóm   tắt   những   điều   kiện   hoạt   động   của   cable  ByteBlasterMV - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
ng 3.3 đến 3.5 tóm tắt những điều kiện hoạt động của cable ByteBlasterMV (Trang 61)
3.1.2. Sơ đồ bo mạch thử FLEX 10K - Thiết kế module cấu hình và hiển thị trong thiết bị vô tuyến cấu hình mềm
3.1.2. Sơ đồ bo mạch thử FLEX 10K (Trang 62)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w