Thiết kế mạng lưới công nghiệp sử dụng bộ vi xử lý FPGA và 89S8252

MỤC LỤC

CÁC THUẬT NGỮ VHDL

Entity –Tất cả các thiết kế trong một hợp phần gọi là entity.Entity là khối cơ bản nhất trong một thiết kế .Mức trên cùng của một thiết kế gọi là top-level entity.Nếu chúng ta thực hiện một thiết kế được phân cấp ,thì dưới các mô tả mức cao là các mô tả có mức thấp hơn (lower-level).Các mô tả mức thấp hơn gọi là lower-level entity. Configuration –Các mô tả configuration nhằm mục đích chỉ định architecture body nào được sử dụng trong thiết kế trong số nhiều architecture mà một entity có thể có và chỉ định cặp entity_architecture body nào sẽ tương ứng với các phần khai báo trong architecture đó .Các mô tả configuration có thể coi là danh sách các phần được sử dụng trong thiết kế.

CÁC KIỂU THIẾT KẾ TRUYỀN THỐNG

Tương quan giữa các ký hiệu và các entity

Generic –Generic là một thuật ngữ trong VHDL mô tả cho các thông số được dùng trong entity.Giả sử trong mô tả ở mức các cổng tồn tại các thông số là độ trễ cạnh lên và cạnh xuống của xung ,các giá trên được mô tả qua GENERIC phù hợp với các ENTITY. Process-Đây là thuật ngữ sử dụng thường xuyên trong các thiết kế.Process là đơn vị thực thi cơ bản trong VHDL.Tất cả hoạt động được thể hiện dựa trên các mô tả VHDL mà trong đó các mô tả được phân thành một hay nhiều các process.

Tương quan giữa các schematic và architecture

Cỏc khai bỏo trong ENTITY cho cỏc ngừ tương ứng với cỏc mụ tả trong ký hiệu được dùng trong CAE. ENTITY là cách mô tả tổng quát nhất cho các giao tiếp của thiết kế với các thiết bị bờn ngồi.Cỏc thụng số cho một giao tiếp bao gồm số cỏc ngừ (vào/ra),hướng của cỏc ngừ ,dạng tớn hiệu tồn tại ở cỏc ngừ.

OUT BIT;

Thành phần component

Thành phần NAND được sử dụng 2 lần trong ví dụ trên tương ứng là U1 và U2.Thành phần NAND được sử dụng với cỏi tờn là U1 với ngừ đầu tiờn nối với tớn hiệu set, ngừ thứ 2 nối với tớn hiệu qb và ngừ thứ 3 nối với tớn hiệu q.Nếu chỳng ta quan sỏt mụ tả của COMPONENT chỳng ta sẽ thấy ngừ đầu tiờn là a,ngừ thứ 2 là b,đú là 2 ngừ vào ,ngừ thứ 3 là ngừ ra với tờn là c.Do đú cỏc ngừ sẽ cú cỏc tớn hiệu tương ứng nối với nú.Cụ thể là :Ngừ a của thành phần NAND trong U1 nối với tớn hiệu set,ngừ b nối với tớn hiệu qb và ngừ c sẽ được nối với tớn hiệu q.Đối với U2,chúng ta sẽ thấy được các kết nối sau từ khóa PORT MAP.Chúng ta còn một cỏch mụ tả qua đú chỳng ta sẽ thấy mọi kết nối được rừ ràng hơn.

Các mô tả hành vi tuần tự

Các mô tả được thực hiện bắt đầu bằng một từ khóa PROCESS và kết thúc bằng từ khóa END PROCESS.

Các mô tả Configuration

Thiết kế dùng mô tả CONFIGURATION thường dùng trong thiết kế phân cấp.Chúng ta có thể hiểu phần CONFIGURATION trong ví dụ trên như sau :CONFIGURATION tên là rsffcon1.Hai thành phần U1 và U2 kiểu NAND được sử dụng trong kiến trúc netlist,sử dụng ENTITY mynand,với version1 trong thư viện có tên là WORK.ENTITY rsff có ARCHITECTURE là netlist,và thành phần nand có ENTITY là mynand và ARCHITECTURE là version1. Phần mềm được viết mô hình hoạt động của mạng cho phép truy xuất đến các Kit trong mạng .Người sử dụng chỉ quan tâm đến lớp ứng dụng cần truy xuất đến Kit nào trong mạng và dữ liệu là gì .Ở đây dữ liệu được biên dịch giữa phần mềm quản lý và các Kit một cách trong suốt.

Hình trên mô tả mô hình lý thuyết của 1 FPGA. Nó gồm 1 dãy 2 chiều các logic  block có thể được kết nối bằng các nguồn kết nối chung
Hình trên mô tả mô hình lý thuyết của 1 FPGA. Nó gồm 1 dãy 2 chiều các logic block có thể được kết nối bằng các nguồn kết nối chung

Giao diện truy cập mạng

Giao diện truy cập thụng tin mạng thụng qua cỏc ngừ nhập dữ liệu ,địa chỉ ,tốc độ và cổng truy cập.

Lưu đồ giải thuật 1.Thủ tục gửi dữ liệu

  • Thủ tục nhận dữ liệu

    Thủ tục nhận dữ liệu xử lý các khung lệnh nhận được từ Kit convert.dsn gửi lên bằng 2 con trỏ. Phần dư kết quả tính FCS bằng 0 thì kết quả nhận không lỗi .Phần dư khác 0 thì khung dữ liệu nhận bị lỗi. Trong giải thuật tính FCS có sử dụng cờ C.Cờ C là kết quả dịch phải của 5 byte khung dữ liệu.Kết quả tính được lưu vào byte FCS.

    Chương trình nguồn Chương trình

    Public Address As Integer Public Addresstx As Integer Public Command As Integer Public Token_F As Integer Public Ack_F As Integer Public Data_F As Integer Public Rx_header As Integer Public Rx_address As Integer Public Rx_command As Integer Public Rx_data As Integer Public Rx_fcs As Integer Public Data As Integer Public FCSRX As Integer Public FCSTX As Integer. Public Lenght_Frame As Integer Public Rx_frame(0 To 4) As Integer Public Frame_pointer As Integer Public Header_f As Boolean Public Complete_F As Boolean Public Crc_F As Boolean Public Kit As Integer. Public data As Integer Public command As Integer Public address As Integer Public crc As Integer Public header As Integer Public rotate As Integer Public fcs_c As Boolean Public data_c As Boolean Public command_c As Boolean Public address_c As Boolean Public header_c As Boolean Public crc_request As Boolean.

    Mạch Kit.dsn Chức năng

    • Mạch xử lý đồng bộ bit Sơ đồ nguyên lý

      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 xuống thấp của start bit thì bit start được nhận dạng .Lúc này một bộ đếm 8 xung clock được kích hoạt.Sau khi bộ đếm tràn thì dữ liệu ngừ vào được kiểm tra một lần nữa .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 reset. 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 byte kế.Như vậy tốc độ baud lấy mẫu dữ liệu từ máy tính gửi xuống gấp 16 lần tốc độ baud 1200. 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 Detect_false_start sẽ reset mạch để dò tìm start bit mới.Nếu mức logic đọc được là mức cao thì macro Detect_false_start cho phép các hoạt động kế tiếp.

      Sơ đồ nguyên lý
      Sơ đồ nguyên lý

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

        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ả lời và máy tính nhận biết được có kit mới được kết nối. Giữa máy tính và các Kit hay giữa các Kit với nhau có một chương trình biên dịch dữ liệu .Do đó cấu trúc khung này cho phép mở rộng chương trình và hồn tồn không phụ thuộc vào độ dài dữ liệu. Trình biên dịch là một bảng thực hiện thao tác lệnh được qui định trước.Tương ứng với một giá trị của byte dữ liệu thì trình biên dịch có thao tác tương ứng.Do vậy với cấu trúc truyền khung dữ liệu 5 byte cố định thì trình biên dịch hoạt động rất hiệu quả ,có thể mở rộng trình biên dịch một cách mềm dẻo.

        Các thủ tục truyền dữ liệu 1.Thủ tục khởi động hệ thống

          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 khung Token cho các kit. Sau khi xác nhận đăng nhập mộ kit mớ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.

          Lưu đồ giải thuật

          • Lưu đồ thủ tục xử lý dữ liệu nhận được
            • Lưu đồ thủ tục chuẩn bị dữ liệu phát

              Khi xác nhận là khung SETADD , đáp ứng kiểm tra địa chỉ và mở cờ ACK để chuẩn bị trả lời máy tính ,cập nhật con trỏ và nhận địa chỉ mới .Trong trường hợp địa chỉ sai đáp ứng cập nhật con trỏ và thốt. Khi xác nhận là khung DATA , đáp ứng kiểm tra địa chỉ và mở cờ ACK để chuẩn bị trả lời máy tính ,cập nhật con trỏ và nhận dữ liệu .Trong trường hợp địa chỉ sai đáp ứng cập nhật con trỏ và thốt. Khi có lệnh yêu cầu điều khiển từ Kit hoặc gửi ACK về máy tính thì thủ tục chuẩn bị dữ liệu phát được gọi .Thủ tục xây dựng khung dữ liệu từ thông tin là byte ACK hoặc byte dữ liệu điều khiển.

              Những hạn chế

               Thiết kế và thi công hồn thành mạch điều chế ,giải điều chế FSK trao đổi dữ liệu giữa máy tính và các Kit trong mạng.  Thiết kế và thi công hồn thành Kit, trong đó thực hiện điều chế giải điều chế FSK ;xử lý đồng bộ bit dùng FPGA ;đồng bộ khung dữ liệu.  Viết chương trình giao tiếp với các Kit trong mạng .Giao tiếp cho phép người sử dụng có thể khai thác mạng một cách dễ dàng.