Đề tài Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252

Trong nhiều thập niên năm qua việc ứng dụng mạng thông tin vào lĩnh vực công nghiệp đã bùng nổ rất mạnh mẽ.Các hệ thống mạng phát triển rất mạnh và đa dạng . Việc ứng dụng mạng công nghiệp đã mang lại những lợi ích rõ nét Chi phí lắp đặt hệ thống Nhân công điều hành Tiện ích quản lý hệ thống Cải thiện môi trường làm việc

doc93 trang | Chia sẻ: vietpd | Lượt xem: 1544 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Nghiên cứu và thiết kế mạng công nghiệp sử dụng FPGA và CPU 89S8252, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHẦN 1 GIỚI THIỆU MẠNG CÔNG NGHIỆP 1.GIỚI THIỆU MẠNG CÔNG NGHIỆP Trong nhiều thập niên năm qua việc ứng dụng mạng thông tin vào lĩnh vực công nghiệp đã bùng nổ rất mạnh mẽ.Các hệ thống mạng phát triển rất mạnh và đa dạng . Việc ứng dụng mạng công nghiệp đã mang lại những lợi ích rõ nét Chi phí lắp đặt hệ thống Nhân công điều hành Tiện ích quản lý hệ thống Cải thiện môi trường làm việc Mô hình hệ thống mạng điều khiển Mở rộng ra từ mạng cục bộ ,các hệ thống cục bộ có thể kết nối với nhau tạo ra một mạng diện rộng .Như vậy chỉ với một máy tính có thể quản lý tập trung mạng điều khiển . Máy tính KIT1 KIT 2 KIT4 KIT3 KIT 6 KIT5 KIT8 KIT7 KIT10 KIT9 Mô hình kết nối các mạng cục bộ Có thể xem mô hình mạng công nghiệp gần giống như các mô hình mạng khác.Tuy nhiên có sự đa dạng trong kiểu dữ liệu mạng công nghiệp . Các dạng dữ liệu trong mạng công nghiệp : Tín hiệu máy đang hoạt động hay đang nghỉ Số máy trong mạng Tình trạng tốt hay xấu của từng máy Chu kỳ hoạt động của máy Cấu hình của các máy Tín hiệu kiểm tra mạng Thông tin trả lời từ các máy ....................... 2.KHẢO SÁT GIAO THỨC VÀ CẤU TRÚC MẠNG 2.1.Mô hình TCP/IP: Mô hình TCP/IP (Transmission Control Protocol / Internet Protocol) là mô hình cho mạng Internet được sử dụng rộng rãi nhất hiện nay. Cấu trúc các lớp của TCP/IP có một số điểm tương đồng với mô hình OSI (Open System Interconnect) nhưng có những bỏ bớt một số lớp. So với 7 lớp của mô hình OSI, cấu trúc TCP/IP chỉ có 4 sau đây: Application Presentation Session Transport Network Data link Physical Application Transport Internet Network access Cấu trúc 4 lớp của mô hình TCP/IP so với mô hình OSI OSI TCP/IP Lớp truy xuất mạng : Network Access Layer. Lớp liên mạng : Internet Layer. Lớp vận chuyển : Transport Layer. Lớp ứng dụng : Application Layer. Chức năng của các lớp : 2.1.1.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. TCP/IP không định nghĩa lớp này mà dùng các chuẩn có sẵn như IEEE, X25, RS232, ETHERNET,... 2.1.2.Lớp liên mạng (Internet Layer): Chịu trách nhiệm cung cấp địa chỉ logic cho giao diện mạng vật lý để điều khiển việc truyền thông tin giữa các máy. Lớp này nhận dữ liệu từ lớp vận chuyển, đóng gói thành các IP datagram với các IP header chứa thông tin của việc truyền dữ liệu, sau đó chuyển xuống lớp truy xuất mạng để truyền. Lớp này cũng cung cấp các giao thức để thông báo lỗi. 2.1.3.Lớp vận chuyển: Lớp vận chuyển có nhiệm vụ phân phát dữ liệu tới các chương trình ứng dụng khác nhau. Lớp này có hai nghi thức quan trọng là TCP (Transmission Control Protocol) và UDP (User Datagram Protocol). Đơn vị dữ liệu ở lớp này là các bản tin. 2.1.4.Lớp ứng dụng: Đây là lớp cao nhất, dùng để truy xuất các dịch vụ trên mạng bằng các chương trình ứng dụng. Một chương trình ứng dụng sẽ tương tác với các nghi thức của lớp này để gửi và nhận dữ liệu. Các dịch vụ trên lớp này gồm có: truyền thư (SMTP), truyền nhận file (FTP) , truy cập từ xa (TELNET),... 2.2.Nghi thức Ethernet: Lớp truy xuất mạng trong TCP/IP sử dụng các nghi thức mạng có sẵn như : Ethernet, IEEE 802, X25, Frame Relay, ATM.Trong các mạng LAN, nghi thức được sử dụng phổ biến nhất là mạng Ethernet. Ethernet: Dựa trên điều khiển đa truy cập CSMA/CD (Carrier Sense Multiple Access/Collision Detect). Các chức năng cơ bản của Ethernet là: Truyền và nhận các gói dữ liệu. Giải mã các gói và kiểm tra địa chỉ trước khi phát cho phần mềm lớp trên. Kiểm tra lỗi. 2.2.1.Điều khiển đatruy cập CSMA: Trước khi truyền dữ liệu trên mạng, một trạm Ethernet phải lắng nghe hoạt động của kênh truyền. Nếu phát hiện kênh truyền bị bận, nó sẽ chờ mà không truyền. Nếu kênh truyền trống thì nó sẽ truyền. Sau bit cuối cùng của một khung truyền trạm Ethernet phải đợi một khoảng thời gian nhất định để tạo một khoảng cách giữa các khung. Khoảng cách này chính là thời gian cho phép các trạm khác có thể chiếm kênh truyền. Trong trường hợp xảy ra xung đột (khi có hai trạm cùng phát hiện ra kênh trống và truyền dữ liệu lên), trạm Ethernet sẽ phát hiện ra xung đột nhờ so sánh dữ liệu trên đường truyền với dữ liệu đã phát. Cả hai trạm sẽ cùng ngưng phát và chờ trong một khoảng thời gian ngẫu nhiên trước khi phát lại. Do thời gian chờ phát lại của mỗi trạm là ngẫu nhiên nên có thể tránh được việc tái xung đột, tuy nhiên nếu điều này xảy ra, các trạm sẽ phải chờ một lần nữa với thời gian chờ ngẫu nhiên tăng lên để giảm xác suất tái xung đột. 2.2.2.Định dang khung Ethernet: Preamble (8 byte) Destination Address (6 byte) Source Address (6 byte) Type (2 byte) Data (46->1500 byte) FCS (3 byte) 2.2.2.1.Preamble : Gồm 8 byte: 7 byte đầu có giá trị 10101010 có chức năng đồng bộ cho phần cứng. 1 byte có giá trị 10101011 báo cho biết bắt đầu của 1 frame. 2.2.2.2. Destination Address và Source Address: Địa chỉ nguồn và địa chỉ đích, mỗi trạm Ethernet được gán một địa chỉ 48 bit cố định. 2.2.2.3.Type : Xác định loại dữ liệu. 2.2.2.4.Data : Chứa dữ liệu nhận được từ lớp trên. Trường dữ liệu bao gồm IP Header, TCP Header, và dữ liệu. Chiều dài của trường dữ liệu từ 46-1500 byte. 2.2.2.5.FCS (Frame Check Sequence): Cho phép trạm nhận xác định việc truyền có bị lỗi hay không. 2.3.Khảo sát Token Ring Token Ring có 2 loại khung cơ bản 2.3.1.Khung Token Khung Token có chiều dài 3 byte Start: Byte mở đầu Access control:Byte điểu khiển End :Byte kết thúc Start Access control End 2.3.2.Khung dữ liệu/lệnh Khung dữ liệu/lệnh có kích thước thay đổi tùy thuộc vào trường thông tin.Khung dữ liệu mang thông tin của lớp trên.Trong khi đó khung lệnh mang thông tin điều khiển và không chứa thông tin của lớp trên. Start Access control Frame control Destination address Source address Data FCS End Frame status Start:Mở đầu khung Access control :Phân biệt khung Token hoặc khung lệnh /dữ liệu Frame control :Phân biệt loại thông tin điều khiển Destination address:Địa chỉ đến của khung Source address:Nơi xuất phát của khung Data:Có kích thước thay đổi mang thông tin FCS:Kiểm tra lỗi khung End:Kết thúc Frame status:Báo trạng thái khung nhận được PHẦN 2 GIỚI THIỆU GIẢI THUẬT TÍNH CRC KIỂM TRA DƯ THỪA THEO CHU KỲ CRC Trường kiểm tra lỗi FCS được thực hiện qua giải thuật tính CRC.Các CRC khác nhau ứng với các đa thức sinh ứng khác nhau. CRC8 =X^8 + X^2 + X^1 + 1 CRC16=X^16+ X^15+ X^2 + 1 CRC32=X^32+ X^26+ X^23+ X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X+11 Thuật toán tính CRC: M:Bản tin cần phát R:Phần dư kết quả chia G:Đa thức sinh Thực hiện phép tính : (M*2n) / G =Q + R /G Kết quả phần dư R chính là CRC cần gán vào bản tin để phát . Việc lấy bản tin nhân 2n tức là thêm vào số số không bằng bậc của đa thức sinh . Sau đó thực hiện chia module – 2 cho đa thức sinh .Phần dư R chính là CRC cần tìm . Tại đầu phát bản tin M được thêm vào thành phần CRC trước khi phát Tại đầu thu khi nhận được chuỗi dữ liệu cũng được xử lý như đầu phát .Tuy nhiên kết quả cho R là bằng không thì kết luận việc truyền không bị lỗi .Nếu phần dư R khác không thì kết luận việc truyềøn bị lỗi . Có 2 cách thực hiện tính CRC: Phần cứng Phần mềm Trong đề tài sử dụng tính CRC8 bằng phần mềm với đa thức sinh CRC8 =X^8 + X^2 + X^1 + 1 Đa thức sinh :100000111 .Tính CRC-8 100000111 1111000000011101 0000110001001 FCS=00111111B Tính CRC-8 có chuỗi dữ liệu sau với đa thức sinh 100000111 11110000 11010000 10101010 10000000 00000000 10000011 1 01110011 01 8 bit dịch 1000001 11 0110010 100 100000 111 010010 0111 10000 0111 00010 0000000 10 0000111 00 00001110 10101 1000 00111 0110 100100 100 000111 010 1000111 10 0000111 00 10000000 1 10000011 1 00000011 0000000 10 0000111 01 00001110 1 00000111 0 00001001 00000 1000 00111 0001 00111000 1 00000111 0 00111111 PHẦN 3 ĐIỀU CHẾ VÀ GIẢI ĐIỀU CHẾ FSK Hệ thống mạng được thiết kế đặt trong môi trường công nghiệp .Do vậy dữ liệu rất dễ bị nhiễu và suy hao .Để tăng độ tin cậy trong việc truyền dữ liệu ,tín hiệu từ máy tính gửi xuống cần được điều chế và giải điều chế . KHẢO SÁT ĐIỀU CHẾ FSK Tín hiệu điều chế FSK có tần số thay đổi tùy thuộc vào luồng dữ liệu nhị phân được phát. 0 1 Dạng tín hiệu FSK Điều chế FSK rất thông dụng với việc truyền dữ liệu tốc độ thấp từ 300 đến 1200 baud. 0 1 Dạng tín hiệu giải điều chế FSK PHẦN 4 GIỚI THIỆU VỀ NGÔN NGỮ VHDL 1.TỔNG QUAN VỀ VHDL Very High Speed IC Hardware Description Language là một chuẩn dùng trong công nghiệp được viết tắt là VHDL.Nó được coi là một ngôn ngữ mô tả phần cứng có thề dùng thiết kế các hệ thống số với các cấp độ khác nhau :từ mức là các giải thuật (cấp độ trừu tượng ) đến các mức cụ thể thực hiện trên các cổng logic. Trong chương này chúng ta sẽ đề cập đến những vấn đề cơ bản của VHDL. với các phương pháp thiết kế truyền thống . 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. 1.1.CÁC THUẬT NGỮ VHDL Trong VHDL tồn tại những thuật ngữ liên quan mà trong các phần sau sẽ được đề cập đến .Các khối cơ bản của VHDL được sử dụng hầu hết trong các thiết kế,các thuật ngữ sau được định nghĩa cho các khối cơ bản trong 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. Architecture-Tất cả các entity đều tồn tại phần mô tả kiến trúc thiết kế bên trong nó (Architecture description). Trong phần kiến trúc thiết kế này các hoạt động của một hệ thống được mô tả một cách rõ ràng .Một entity có thể bao gồm nhiều phần kiến trúc thiết kế khác nhau.Một kiến trúc có thể là thiết kế theo dạng hành vi ,trong khi đó một kiến trúc khác có thể được thiết kế theo dạng cấu trúc. 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ế . Package- Một package được coi là một tập hợp các kiểu dữ liệu được sử dụng thường xuyên trong thiết kế và các chương trình con trong thiết kế hệ thống. Attribute-Các thuộc tính của dữ liệu được mô tả kèm theo các đối tượng VHDL hoặc định nghĩa trước dữ liệu cho các đối tượng trong VHDL.Ví dụ như nhiệt độ giới hạn khi hoạt động của một thiết bị nào đó . 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. 1.2.CÁC KIỂU THIẾT KẾ TRUYỀN THỐNG Trong thiết kế truyền thống, các công cụ CAE (Computer Aided Engineering) được người thiết kế sử dụng .Khi sử dụng CAE,các người thiết kế phải tạo ra schematic cho các thiết kế . Các schematic bao gồm các ký hiệu mô tả các thành phần cơ bản của thiết kế và được kết nối bằng những đường tín hiệu .Các ký hiệu mô tả đó phụ thuộc vào các thư viện đã dựng sẵn . Các thành phần cơ bản được kết nối bằng các đường tín hiệu .Các kết nối này rất quan trọng việc xây dựng thiết kế ,các netlist tương ứng với mỗi thiết kế nhận được từ những thiết kế này .Các netlist này giúp tạo ra các kiểu giả lập nhằm kiểm tra lại thiết kế trước khi xây dựng ,đồng thời cung cấp các thông tin cho các phần mềm xây dựng một thiết kế phần cứng thật sự . Hình dưới mô tả một ví dụ thiết kế reset-set-flip-flop (RSFF) xây dựng theo một ký hiệu mô tả cái khái quát flip-flop trên với thiết kế : Ngõ vào của thiết bị: SET và RESET. Ngõ ra của thiết bị : Q và QB. Chức năng của thiết bị được thể hiện qua tên của ký hiệu . SET Q RESET QB Các ký hiệu định rõ giao tiếp bên ngoài của thiết bị và chức năng của thiết kế.Các kết nối bên trong ký hiệu thể hiện qua các schematic xây dựng trên những thành phần cơ bản (trong ví dụ này các cổng logic được sử dụng ). 1.2.1.Tương quan giữa các ký hiệu và các entity Tất cả các thiết kế đều dựa trên các ENTITY.Các ENTITY được xem là các ký hiệu đại diện tồn tại trong các thiết kế dựa trên CAE.Dưới đây là phần mô tả ở mức trên cho RSFF: ENTITY rsff IS PORT (set,reset:IN BIT; q,qp:OUT BIT); END rsff; Từ khóa ENTITY là từ khóa bắt đầu cho một khai báo ENTITY.Qua khai báo cho ENTITY trên chúng ta biết được những thông tin cho thiết kế rsff: Tên của khai báo ENTITY là rsff. ENTITY trên khai báo phần thiết kế bao gồm 4 ngõ (vào/ra) thông qua từ khóa PORT. Từ khóa IN mô tả có 2 ngõ set và reset là ngõ vào có dạng tín hiệu là BIT. Từ khóa OUT mô tả có 2 ngõ qvà qb là ngõ có dạng tín hiệu là BIT. 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 ngoà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õ . 1.2.2.Tương quan giữa các schematic và architecture Schematic cho rsff được mô tả tương ứng trong VHDL là architecture.Các architecture đều xây dựng trên nền tảng là các ENTITY và chúng mô tả các hành vi ứng xử trong ENTITY đó .Để thực hiện mô tả ARCHITECTURE cho ENTITY rsff ta có thể thực hiện như sau: ARCHITECTURE netlist OF rsff IS COMPONENT nand PORT(a,b:IN BIT; C:OUT BIT; END COMPONENT; BEGIN U1:nand PORT MAP(set,qb,q); U2:nand PORT MAP(reset,q,qb); END netlist; Từ khóa ARCHITECTURE được sử dụng bắt đầu cho mô tả kiến trúc của ENTITY. ARCHITECTURE có tên là netlist và có tên ENTITY tương ứng là rsff.Trong ENTITY có thể có nhiều ARCHITECTURE trong nó ,các ARCHITECTURE có thể là dạng mô tả hành vi hoặc đối với ví dụ trên nó có thể mô tả dưới dạng cấu trúc .Giữa 2 từ khóa ARCHITECTURE và BEGIN là các khai báo cho các đường tín hiệu hay các thành phần được sử dụng trong cấu trúc đó . Trong ví dụ trên thành phần cổng logic NAND được khai báo cho ARCHITECTURE.Trình biên dịch cần biết các thông tin về giao tiếp của các thành phần được sử dụng trong ARCHITECTURE,các giao tiếp đó được mô tả sau từ khóa PORT.Mọi mô tả được đặt giữa 2 từ khóa BEGIN và END ,các mô tả đó xảy ra đồng thời với nhau . 1.2.3.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 . U1:PORT MAP(a=>set, B=>qb, C=>q); U2:PORT MAP(a=>reset, b=>q, c=>qb); 1.2.4.Các mô tả hành vi (Behaviour) Để mô tả với cùng một mạch như vậy ta có thể sử dụng thiết kế dạng hành vi.Đây là dạng thiết kế mô tả một hệ thống thông qua việc thể hiện rõ cách thức hoạt động ,hành vi ứng xử của nó .Thiết kế này được thực hiện bằng một tập hợp lệnh được thực thi theo thứ tự.Khi ta chọn kiểu thiết kế dạng hành vi,cấu trúc của hệ thống hoàn toàn không thể hiện . ACRCHITECTURE behaviour OF rff IS BEGIN q<=not (qb AND set); qb<=NOT(q AND reset); END behaviour; 1.2.5.Các mô tả hành vi tuần tự Trong cách thiết kế bằng mô tả hành vi trên,các chức năng của rsff không được nêu rõ trong những mô tả VHDL.Ngoài 2 cách thiết kế trên ,chúng ta còn cách thiết kế thứ 3 dựa vào mô tả chức năng theo thuật toán của thiết bị thông qua sử dụng cú pháp PROCESS.Các mô tả đó có thể trình bày như sau : ARCHITECTURE sequential OF rsff IS BEGIN IF set =’1’ AND reset =’0’ THEN q<=’0’; qb<=’1’; ELSIF set =’0’ AND reset =’1’THEN q<=’1’; qb<=’0’; ELSIF set =’0’ AND reset =’0’THEN q<=’1’; qb<=’1’; END IF; END PROCESS; END sequential; 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. 1.2.6.Mô tả PROCESS Một mô tả PROCESS gồm 3 phần.Phần đầu tiên gọi là danh sách độ nhạy (SENSITIVITY LIST);phần thứ hai được coi là phần khai báo (DECLARATION) đặt trước từ khóa BEGIN và phần sau từ khóa BEGIN là phần mô tả .Các tín hiệu đặt trong dấu ngoặc đơn sau từ khóa PROCESS là danh sách độ nhạy của PROCESS khi có sự thay đổi giá trị xảy ra trên một trong các tín hiệu trong danh sách này,các lệnh trong PROCESS sẽ được thực thi . 1.2.7.Vùng khai báo của PR
Tài liệu liên quan