Tải bản đầy đủ (.doc) (77 trang)

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ạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (582.76 KB, 77 trang )

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 (re-
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,
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
1
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
2
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!
3
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
4

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.
5
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
6
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
7
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
8
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
9
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
10
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
11
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ả
12
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.
13

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
14
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
15
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
16
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
17
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
18
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.
19
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.
2.1.3 Ứng dụng của FPGA
FPGA được ứng dụng rất rộng rãi, dưới đây là một số ứng dụng điển
hình của nó.
1. Các mạch tích hợp ứng dụng đặc biệt: FPGA là một phương tiện
tổng quát nhất để thực hiện các mạch logic số.
2. Thiết kế các mạch ngẫu nhiên: Mạch ngẫu nhiên thường được thực
hiện bằng PAL. Tuy nhiên, nếu tốc độ của mạch không đòi hỏi khăt khe thì

mạch có thể thực hiện thay thế bằng FPGA.
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
20
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
21
Đâ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 2
K

bí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 2
K
2
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ả 2
K
2
hàm khác nhau do có sự
22
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à:
23
- 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à
24
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
25

×