Nghiên cứu và thiết kế FPGA cho mạng công nghiệp

MỤC LỤC

PHAÀN A :LYÙ THUYEÁT

Lớp truy xuất mạng (Network Access Layer)

 Lớp truy xuất mạng đại diện cho các bộ phận kết nối vật lý như cáp, bộ chuyển đổi (Adapter), card mạng, giao thức kết nối, giao thức truy cập mạng. Lớp này có nhiệm vụ trao đổi dữ liệu giữa các máy chủ và mạng.

GIỚI THIỆU VỀ NGÔN NGỮ VHDL

VHDL là dạng mô tả ngôn ngữ gần gũi với người thiết kế.VHDL bắt đầu từ những mô tả đơn giản đến các hệ thống phức tạp mới hình thành .Quá trình tiếp cận VHDL cũng được thực hiện qua trình tự như vậy .Các mô tả đơn giản được chúng ta tiếp cận ,sau đó các thiết kế phức tạp hơn được xây dựng trên nền tảng đó.Quá trình chúng ta tiếp cận như vậy đối với VHDL giỳp chỳng ta hiểu rừ hơn hệ thống thay vì chúng ta bắt tay ngay vào xây dựng một hệ thống lớn.

TOÅNG QUAN FPGA

Để thực hiện các phép toán phức tạp, các LE được nối lại bằng cách dùng mạng nối kết lập trình được. Field-Programmable Gate Array (FPGA) đã xuất hiện như giải pháp cơ bản cho vấn đề tranh thủ thời gian để đưa ra thị trường và rủi ro tài chính phải gánh chịu trong quá. FPGA là 1 thiết bị cấu trúc logic có thể được người sử dụng lập trình trực tiếp mà không phải sử dụng bất kỳ 1 công cụ chế tạo mạch tích hợp nào.

 FPGA có thể sử dụng trong hầu hết các ứng dụng hiện đang dùng MPGA, PLD và các mạch tích hợp nhỏ (SSI). Nếu tốc độ của mạch không đòi hỏi khắt khe (các PAL nhanh hơn hầu hết các FPGA) thì mạch có thể được thực hiện bằng FPGA. Trong nhiều trường hợp các chip SSI này có thể được thay thế bằng FPGA và kết quả là giảm diện tích của board mạch.

 FPGA rất lý tưởng cho các ứng dụng tạo mẫu sản phẩm .Giá thành thực hiện thấp và cần thời gian ngắn để thực hiện thiết kế,cung cấp nhiều ưu điểm hơn so với các phương pháp truyền thống để chế tạo mẫu phần cứng. Các bản mẫu ban đầu có thể được thực hiện rất nhanh và những thay đổi sau đó được thực hiện dễ dàng và ít tốn kém.  Một loại máy tính hoàn toàn 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 mạch chứa các FPGA với các chân board nối với các chip lân cận giống như thông thường .Ý tưởng là 1 chương trình phần mềm có thể được biên dịch vào ngay phần cứng. 1.Không cần quá trình lấy lệnh như các bộ vi xử lý truyền thống vì phần cứng đã gộp cả các lệnh. 2.Môi trường tính toán có thể được thực hiện song song mức cao, làm tăng tốc thêm nữa.

 FPGA cho phép có thể thay đổi theo mong muốn cấu trúc của một máy đang hoạt động. Một ví dụ là các thiết bị máy tính từ xa có thể được thay đổi trực tuyến để khắc phục sự cố hay có lỗi thiết kế. Kiểu FPGA thích hợp nhất cho các ứng dụng này là những FPGA có các chuyển mạch lập trình được.

PHAÀN B :THIEÁT KEÁ

Mạch điều chế và giải điều chế FSK

Mạch giải điều chế FSK làm nhiệm vụ nhận tín hiệu FSK ,giải điều chế đưa ra dữ liệu dạng nhị phân 1010. Tín hiệu FSK đưa vào 2 chân RX1 và RX2.T2 làm nhiệm vụ cách ly đường truyền và chân Receive nhận được FSK so với đất hệ thống. Mạch giải điều chế FSK làm nhiệm vụ nhận tín hiệu nhị phân từ CPU 89S8252 đưa đến IC73M223 điều chế thành tín hiệu FSK để phát lên đường truyền.

Tín hiệu nhị phân cần được điều chế được đưa đến chân TXD cuûa IC 73M223.

Mạch xử lý đồng bộ bit Mô tả

    Khi dữ liệu truyền trong một hệ thống mạng rất dễ xảy ra hiện tượng nhiễu .Vì vậy việc đọc bit start xác định bit đầu tiên của một byte thường gặp lỗi .Để tránh hiện tượng này tại đầu thu cần xử lý đồng bộ bit. Dữ liệu sau khi giải điều chế FSK được đưa vào mạch xử lý đồng bộ bit.Khi phát hiện chuyển mức logic từ cao. Nếu là mức thấp thì xác nhận đây là start bit,ngược lại thì là do hiện tượng nhiễu gây ra và mạch vào trạng thái.

    Khi xác nhận là start bit thì mạch kích khởi bộ đếm 16 xung clock để đọc dữ liệu tuần tự vào .Cứ như vậy mạch đồng bộ đọc vào 10 bit của 1 byte.Khi kết thúc 1 byte thì mạch xử lý đồng bộ lại được reset để chờ bit start của. VHDL trên phần mềm Project Manager của hãng Xillinx được chia thành 8 macro.Mỗi macro có chức năng riêng. -Data_in :Ngừ vào dữ liệu chưa đồng bộ bit -Reset_Detect_Start:Ngừ vào.

    Chức năng : Khi xuất hiện start bit thì macro phát hiện tạo mức logic cao ở ngừ ra Detect_Start đồng thời reset macro. Chức năng : Sau khi macro Detect_Start phát hiện start bit thì macro Count đếm 8 xung clock để lấy mức logic trung taâm cuûa start bit. Chức năng : Sau khi macro Count đếm đủ 8 xung thì macro Create_pulse tạo xung để để đọc lấy mức logic trung taâm cuûa start bit.

    Chức năng :.Macro Create_pulse tạo xung để đọc lấy mức logic trung tâm của start bit .Trong trường hợp mức logic đọc được không phải là mức thấp thì macro. Chức năng :.Khi phát hiện lỗi trong việc dò tìm start bit thì macro Active_reset kích hoạt reset mạch.  Chức năng :.Cho phép đếm 16 xung để đọc mức logic dữ liệu khi việc dò tìm start bit là chính xác.

    Ngừ tạo xung này chỉ cú khi việc dũ tỡm start bit là chính xác. Chức năng :.Sau khi đọc lấy 10 bit của 1 byte dữ liệu, macro 10bit sẽ reset mạch để dò tìm start bit mới.

    Cấu trúc của mạng thiết kế

    Lớp ứng dụng : Tạo sự thân thiện giao tiếp với người sử dụng .Lớp này cho phép người sử dụng quan sát và điều khiển một cách đơn giản bằng các nút lệnh và bảng kết quả.

    Cấu trúc khung lớp dữ liệu

    INIT : 0D hex, mục đích là để máy tính nhận biết kit nào đang được kết nối, địa chỉ là bao nhiêu. Như vậy, máy tính biết được kit nào đang kết nối và cả địa chỉ của kit đó. Hệ thống ban đầu khi hoạt động, máy tính sẽ lần lượt gửi các khung dữ liệu.

    SETADDR : 0E hex, mục đích là thiết lập địa chỉ cho kit mới được kết nối. Khi một kit được kết nối, sau khi máy tính nhận biết có kit mới được kết nối, máy tính sẽ gửi khung dữ liệu SETADDR trong đó có chứa địa chỉ mới sẽ thiết lập cho kit. NMD :0Bh, sau một khoảng thời gian nhất định, máy tính sẽ gửi khung NMD xuống các kit.

    Nếu có một kit mới nào vừa được kết nối, kit đó khi nhận được Frame này sẽ trả. TOKEN : 0C hex, máy tính hay kit mà giữ TOKEN này thì được quyền truyền DATA cho các thiết bị khác. Sau khi máy tính đã thực hiện xong một số công việc như kiểm tra kết nối, thiết lập địa chỉ, truyền xong dữ liệu xuống kit … thì máy tính truyền TOKEN cho các kit.

    Data:Dữ liệu điều khiển từ máy tính gửi xuống các Kit hoặc dữ liệu từ các Kit gửi lên máy tính.

    PHẦN C :KẾT QUẢ