Dữ liệu được gửi đi từ một máy tính sẽ có thể được tiếp nhận bởi tất cả các máy tính còn lại, bởi vậy cần chỉ ra địa chỉ đích của dữ liệu để mỗi máy tính căn cứ vào đó kiểm tra xem dữ li
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
-LUẬN VĂN THẠC SĨ KỸ THUẬT
NGHIÊN CỨU, THIẾT KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN SỬ DỤNG CÔNG NGHỆ TRUYỀN THÔNG QUA
MẠNG INTERNET
Ngành: KỸ THUẬT ĐIỆN TỬ
Học viên: ĐỖ VĂN DƯƠNG
Người hướng dẫn khoa học: PGS TS NGUYỄN THANH HÀ
2012
Trang 2LỜI NÓI ĐẦU
Điều khiển từ xa đã và đang là một xu hướng phát triển mang tính quy luật Sự phát triển nhanh chóng của khoa học kỹ thuật nói chung và ngành điện tử nói riêng là nền tảng cho xu hướng này Vì sự tiện lợi của nó, điều khiển từ xa có thể được sử dụng ở bất kỳ nơi nào Người sử dụng có thể ở bất
kì đâu trên thế giới cũng có thể điều khiển được những bộ phận ngoại vi ở nhà, công sở hay ở một nơi nào đó được định sẵn….Lúc này không còn giới hạn về khoảng cách nữa
Trong kỹ thuật điều khiển từ xa, môi trường truyền dẫn có thể là dây dẫn điện hay không khí với tín hiệu truyền có thể là tín hiệu điện hồng ngoại hay sóng vô tuyền Đặc biệt, kỹ thuật hồng ngoại hay vô tuyến được khai thác triệt để trong việc chế tạo các thiết bị đầu cuối Tuy nhiên kỹ thuật điều khiển dùng tia hồng ngoại và sóng vô tuyến bị hạn chế về khoảng cách và băng thông Để khắc phục nhược điểm trên có thể sử dùng phương pháp khác
là điều khiển từ xa qua mạng ethernet, Internet hoặc LAN Ý tưởng của nó là
sử dụng mạng có sẵn để truyền tín hiệu điều khiển, nhờ đó mà vấn đề khoảng cách được khắc phục
Như ta đã biết, ngày nay mạng lưới Internet-Ethernet đã phát triển và phổ biến khắp nơi trên thế giới Có thể xem sự bùng nổ của Internet ngày nay cũng giống như sự bùng nổ của tivi vào những năm 40-50 của thế kỉ trước Chính điều này càng làm cho Internet xuất hiện ở mọi nơi, và do đó việc điều khiển từ xa qua mạng trở nên dễ dàng, thuận tiện hơn và là một nhu cầu tất yếu của cuộc sống hiện đại ngày nay
Điều khiển từ xa qua mạng có 2 ưu điểm nổi bật:
xa nhà như: mở máy bơm nước, tắt bếp điện, tắt mở bóng đèn
Xuất phát từ thực tế đó, bằng những kiến thức đã được học và sự giúp đỡ của GS TS
Nguyễn Thanh Hà em đã quyết định chọn đề tài “Nghiên cứu, thiết kế bộ điều khiển thiết
bị điện sử dụng công nghệ truyền thông qua mạng internet.” Đề tài gồm các nội dung
chính như sau:
Chương 1: Tổng quan về internet trong điều khiển thiết bị
Trang 3Trình bày lý thuyết cơ bản về mạng, các giao thức mạng, công nghệ ethernet Các lý thuyết này giúp ta phân biệt các loại mạng, mô hình kết nối thiết bị không cùng chủng loại, quá trình đóng mở gói tin, cập nhật địa chỉ khi kêt nối, cấu trúc khung tin hoạt động ethernet
Chương 2: Kỹ thuật điều khiển thiết bị trên cơ sở mạng internet
Cung cấp các chuẩn ghép nối, giao tiếp của máy tính, modem, máy in, chip Giới thiệu hoạt động IC giải mã Enc28j6, bộ vi điều khiển Pic 18F4620, lý thuyết về webserver, cách quản lý sử dụng data center
Chương 3: Thiết kế bộ điều khiển thiết bị điện qua mạng internet
Thiết kế mạch phần cứng bao gồm: Khối giao tiếp mạng, khối xử lý, hiển thị, giao tiếp tải, thu phát RF Lập trình phần mềm, thiết kế giao diện điều khiển để điều khiển thiết bị
Cuối cùng là những phân tích đánh giá nhằm rút ra kết luận và hướng phát triển của đề tài
Từ cơ sở lý thuyết và kiến thức thực tiễn em quyết định nghiên cứu vi điều khiển PIC 18F4620, IC giao tiếp Internet ENC 28J60 với thư viện TCP/IP Stack của Microchip để thực hiện nhiệm vụ của luân văn.Do c hoàn thành trong một thời gian ngắn và điều kiện tiếp cận để nghiên cứu, cùng với năng lực bản thân còn hạn chế nên có thể chưa đề cập được hết các vấn đề liên quan đến đề tài một cách đầy đủ, sâu sắc và cũng không thể tránh khỏi những thiếu sót trong quá trình nghiên cứu, trình bày Kính mong các thầy, cô giáo và các bạn quan tâm đến nội dung của đề tài, góp ý kiến để tôi có điều kiện tiếp thu và phát triển đề tài cũng như bổ xung thêm kiến thức cho bản thân được đầy đủ, đúng đắn và để luận văn của tôi được hoàn thiện hơn
Tôi xin chân thành cảm ơn!
Thái Nguyên, ngày tháng năm 2012
Người thực hiện
Đỗ Văn Dương
Trang 4CHƯƠNG 1: TỔNG QUAN VỀ INTERNET TRONG ĐIỀU KHIỂN
THIẾT BỊ 1.1 Lý thuyết về mạng
1.1.1 Sơ lược lịch sử phát triển
Vào giữa những năm 50, những hệ thống máy tính đầu tiên ra đời sử dụng các bóng đèn điện tử nên kích thước rất cồng kềnh và tiêu tốn nhiều năng lượng Việc nhập dữ liệu vào máy tính được thực hiện thông qua các bìa đục lỗ
và kết quả được đưa ra máy in, điều này làm mất rất nhiều thời gian và bất tiện cho người sử dụng
Đến giữa những năm 60, cùng với sự phát triển của các ứng dụng trên máy tính và nhu cầu trao đổi thông tin với nhau, một số nhà sản xuất máy tính đã nghiên cứu chế tạo thành công các thiết bị truy cập từ xa tới các máy tính của
họ, và đây chính là những dạng sơ khai của hệ thống mạng máy tính
Đến đầu những năm 70, hệ thống thiết bị đầu cuối 3270 của IBM ra đời cho phép mở rộng khả năng tính toán của các trung tâm máy tính đến các vùng
ở xa Đến giữa những năm 70, IBM đã giới thiệu một loạt các thiết bị đầu cuối được thiết kế chế tạo cho lĩnh vực ngân hàng, thương mại Thông qua dây cáp mạng các thiết bị đầu cuối có thể truy cập cùng một lúc đến một máy tính dùng chung
Đến năm 1977, công ty Datapoint Corporation đã tung ra thị trường hệ điều hành mạng của mình là “Attache Resource Computer Network” (Arcnet) cho phép liên kết các máy tính và các thiết bị đầu cuối lại bằng dây cáp mạng, và đó chính là hệ điều hành mạng đầu tiên
1.1 2 Khái niệm cơ bản
Nói một cách cơ bản, mạng máy tính là hai hay nhiều máy tính được kết nối với nhau theo một cách nào đó sao cho chúng có thể trao đổi thông tin qua lại với nhau
Trang 5Hình 1.1: Mô hình mạng cơ bản
Mạng máy tính ra đời xuất phát từ nhu cầu muốn chia sẻ và dùng chung dữ liệu Không có hệ thống mạng thì dữ liệu trên các máy tính độc lập muốn chia sẻ với nhau phải thông qua việc in ấn hay sao chép qua đĩa mềm,
CD ROM, … điều này gây rất nhiều bất tiện cho người dùng Các máy tính được kết nối thành mạng cho phép các khả năng:
Sử dụng chung các công cụ tiện ích Chia sẻ kho dữ liệu dùng chung Tăng
độ tin cậy của hệ thống Trao đổi thông điệp, hình ảnh
Dùng chung các thiết bị ngoại vi (máy in, máy vẽ, Fax, modem …) Giảm thiểu chi phí và thời gian đi lại
1.2 Phân biệt các loại mạng
Phương thức kết nối mạng được sử dụng chủ yếu trong liên kết mạng: có hai phương thức chủ yếu, đó là điểm - điểm và điểm - nhiều điểm
Với phương thức “ điểm - điểm”, các đường truyền riêng biệt được thiết lâp để nối các cặp máy tính lại với nhau Mỗi máy tính có thể truyền và nhận trực tiếp dữ liệu hoặc có thể làm trung gian như lưu trữ những dữ liệu mà nó nhận được rồi sau đó chuyển tiếp dữ liệu đi cho một máy khác để dữ liệu đó đạt tới đích
Với phương thức “điểm - nhiều điểm”, tất cả các trạm phân chia chung một đường truyền vật lý Dữ liệu được gửi đi từ một máy tính sẽ có thể được tiếp nhận bởi tất cả các máy tính còn lại, bởi vậy cần chỉ ra địa chỉ đích của
dữ liệu để mỗi máy tính căn cứ vào đó kiểm tra xem dữ liệu có phải dành cho mình không nếu đúng thì nhận còn nếu không thì bỏ qua
Phân loại mạng máy tính theo vùng địa lý:
GAN (Global Area Network) kết nối máy tính từ các châu lục khác
Trang 6nhau Thông thường kết nối này được thực hiện thông qua mạng viễn thông và
vệ tinh
WAN (Wide Area Network) - Mạng diện rộng, kết nối máy tính trong nội
bộ các quốc gia hay giữa các quốc gia trong cùng một châu lục Thông thường kết nối này được thực hiện thông qua mạng viễn thông Các WAN có thể được kết nối với nhau thành GAN hay tự nó đã là GAN
MAN (Metropolitan Area Network) kết nối các máy tính trong phạm vi một thành phố Kết nối này được thực hiện thông qua các môi trường truyền thông tốc độ cao (50-100 Mbit/s)
LAN (Local Area Network) - Mạng cục bộ, kết nối các máy tính trong một khu vực bán kính hẹp thông thường khoảng vài trǎm mét Kết nối được thực hiện thông qua các môi trường truyền thông tốc độ cao ví dụ cáp đồng trục thay cáp quang LAN thường được sử dụng trong nội bộ một cơ quan/tổ chức Các LAN có thể được kết nối với nhau thành WAN
Phân loại mạng máy tính theo tôpô
Mạng dạng hình sao (Star topology): Ở dạng hình sao, tất cả các trạm được nối vào một thiết bị trung tâm có nhiệm vụ nhận tín hiệu từ các trạm và chuyển tín hiệu đến trạm đích với phương thức kết nối là phương thức “điểm - điểm” Mạng hình tuyến (Bus Topology): Trong dạng hình tuyến, các máy tính đều được nối vào một đường dây truyền chính (bus) Đường truyền chính này được giới hạn hai đầu bởi một loại đầu nối đặc biệt gọi là terminator (dùng để nhận biết là đầu cuối để kết thúc đường truyền tại đây) Mỗi trạm được nối vào bus qua một đầu nối chữ T (T-connector) hoặc một bộ thu phát (transceiver) Mạng dạng vòng (Ring Topology): Các máy tính được liên kết với nhau thành một vòng tròn theo phương thức “điểm - điểm”, qua đó mỗi một trạm có thể nhận và truyền dữ liệu theo vòng một chiều và dữ liệu được truyền theo từng gói một
Mạng dạng kết hợp: trong thực tế tùy theo yêu cầu và mục đích cụ thể ta
có thể thiết kế mạng kết hợp các dạng sao, vòng, tuyến để tận dụng các
Trang 7điểm mạnh của mỗi dạng
Phân loại mạng theo chức năng
Mạng Client-Server: một hay một số máy tính được thiết lập để cung cấp các dịch vụ như file server, mail server, Web server, Printer server, … Các máy tính được thiết lập để cung cấp các dịch vụ được gọi là Server, còn các máy tính truy cập và sử dụng dịch vụ thì được gọi là Client
Mạng ngang hàng (Peer-to-Peer): các máy tính trong mạng có thể hoạt động vừa như một Client vừa như một Server
Mạng kết hợp: Các mạng máy tính thường được thiết lập theo cả hai chức năng Client-Server và Peer-to-Peer
Phân biệt mạng LAN-WAN
Địa phương hoạt động
Mạng LAN sử dụng trong một khu vực địa lý nhỏ
Mạng WAN cho phép kết nối các máy tính ở các khu vực địa lý khác nhau, trên một phạm vi rộng
Tốc độ kết nối và tỉ lệ lỗi bit
Mạng LAN có tốc độ kết nối và độ tin cậy cao
Mạng WAN có tốc độ kết nối không thể quá cao để đảm bảo tỉ lệ lỗi bit có thể chấp nhận được
Phương thức truyền thông:
Mạng LAN chủ yếu sử dụng công nghệ Ethernet, Token Ring, ATM
Mạng WAN sử dụng nhiều công nghệ như chuyển mạch vòng (Circuit Switching Network), chuyển mạch gói (Packet Switching Network), ATM (Cell relay), chuyển mạch khung (Frame Relay), …
1.3 Mạng toàn cầu Internet
Mạng toàn cầu Internet là một tập hợp gồm hàng vạn mạng trên khắp thế giới Mạng Internet bắt nguồn từ một thử nghiệm của Cục quản lý các dự án nghiên cứu tiên tiến (Advanced Research Projects Agency – ARPA) thuộc Bộ quốc phòng Mỹ đã kết nối thành công các mạng máy tính cho phép các trường
Trang 8đại học và các công ty tư nhân tham gia vào các dự án nghiên cứu
Về cơ bản, Internet là một liên mạng máy tính giao tiếp dưới cùng một
bộ giao thức TCP/IP (Transmission Control Protocol/Internet Protocol) Giao thức này cho phép mọi máy tính trên mạng giao tiếp với nhau một cách thống nhất giống như một ngôn ngữ quốc tế mà mọi người sử dụng để giao tiếp với nhau hàng ngày
Số lượng máy tính kết nối mạng và số lượng người truy cập vào mạng Internet trên toàn thế giới ngày càng tăng lên nhanh chóng, đặc biệt từ những năm 90 trở đi Mạng Internet không chỉ cho phép chuyển tải thông tin nhanh chóng mà còn giúp cung cấp thông tin, nó cũng là diễn đàn và là thư viện toàn cầu đầu tiên
1.3 1.Mô hình OSI (Open Systems Interconnect)
Ở thời kỳ đầu của công nghệ nối mạng, việc gửi và nhận dữ liệu ngang qua mạng thường gây nhầm lẫn do các công ty lớn như IBM, Honeywell
và Digital Equipment Corporation tự đề ra những tiêu chuẩn riêng cho hoạt động kết nối máy tính
Năm 1984, tổ chức Tiêu chuẩn hóa Quốc tế - ISO (International Standard Organization) chính thức đưa ra mô hình OSI (Open Systems Interconnection), là tập hợp các đặc điểm kỹ thuật mô tả kiến trúc mạng dành cho việc kết nối các thiết bị không cùng chủng loại
Mô hình OSI được chia thành 7 tầng, mỗi tầng bao gồm những hoạt động, thiết bị và giao thức mạng khác nhau
Hình 1.2: Mô hình OSI bảy tầng
Trang 9Đây là bộ giao thức sử dụng trong mạng Novell
Ưu thế: nhỏ, nhanh và hiệu quả trên các mạng cục bộ đồng thời hỗ trợ khả năng định tuyến
1.3.2.4 DECnet
Đây là bộ giao thức độc quyền của hãng Digital Equipment Corporation DECnet định nghĩa mô hình truyền thông qua mạng LAN, mạng MAN
và WAN Hỗ trợ khả năng định tuyến
1.4 Bộ giao thức TCP/IP (TCP/IP - Transmission Control Protocol/ Internet Protocol):
1.4.1 Tổng quan về bộ giao thức TCP/IP
TCP/IP là bộ giao thức cho phép kết nối các hệ thống mạng không đồng nhất với nhau Ngày nay, TCP/IP được sử dụng rộng rãi trong các mạng cục bộ cũng như trên mạng Internet toàn cầu
TCP/IP được xem là giản lược của mô hình tham chiếu OSI với bốn tầng như sau: Tầng liên kết mạng (Network Access Layer)
Tầng Internet (Internet Layer)
Tầng giao vận (Host-to-Host Transport Layer) Tầng ứng dụng (Application
Trang 10- Tầng Internet:
Tầng Internet (còn gọi là tầng mạng) xử lý qua trình truyền gói tin trên mạng Các giao thức của tầng này bao gồm: IP (Internet Protocol), ICMP (Internet Control Message Protocol), IGMP (Internet Group Messages Protocol)
- Tầng giao vận:
Tầng giao vận phụ trách luồng dữ liệu giữa hai trạm thực hiện các ứng dụng của tầng trên Tầng này có hai giao thức chính: TCP (Transmission Control Protocol) và UDP (User Datagram Protocol)
TCP cung cấp một luồng dữ liệu tin cậy giữa hai trạm, nó sử dụng các cơ chế như chia nhỏ các gói tin của tầng trên thành các gói tin có kích thước
Trang 11thích hợp cho tầng mạng bên dưới, báo nhận gói tin, đặt hạn chế thời gian time-out để đảm bảo bên nhận biết được các gói tin đã gửi đi Do tầng này đảm bảo tính tin cậy, tầng trên sẽ không cần quan tâm đến nữa
UDP cung cấp một dịch vụ đơn giản hơn cho tầng ứng dụng Nó chỉ gửi các gói dữ liệu từ trạm này tới trạm kia mà không đảm bảo các gói tin đến được tới đích Các cơ chế đảm bảo độ tin cậy cần được thực hiện bởi tầng trên
- Tầng ứng dụng:
Tầng ứng dụng là tầng trên cùng của mô hình TCP/IP bao gồm các tiến trình và các ứng dụng cung cấp cho người sử dụng để truy cập mạng Có rất nhiều ứng dụng được cung cấp trong tầng này, mà phổ biến là: Telnet: sử dụng trong việc truy cập mạng từ xa, FTP (File Transfer Protocol): dịch vụ truyền tệp, Email: dịch vụ thư tín điện tử, WWW (World Wide Web)
Hình 1.4: Quá trình đóng/mở gói dữ liệu trong TCP/IP
Trang 12Cũng tương tự như trong mô hình OSI, khi truyền dữ liệu, quá trình tiến hành từ tầng trên xuống tầng dưới, qua mỗi tầng dữ liệu được thêm vào một thông tin điều khiển được gọi là phần header Khi nhận dữ liệu thì quá trình xảy ra ngược lại, dữ liệu được truyền từ tầng dưới lên và qua mỗi tầng thì phần header tương ứng được lấy đi và khi đến tầng trên cùng thì dữ liệu không còn phần header nữa H ì nh 2 5 cho ta thấy lược đồ dữ liệu qua các tầng Trong hình vẽ này ta thấy tại các tầng khác nhau dữ liệu được mang những thuật ngữ khác nhau:
Trong tầng ứng dụng dữ liệu là các luồng được gọi là stream
Trong tầng giao vận, đơn vị dữ liệu mà TCP gửi xuống tầng dưới gọi là TCP segment
Trong tầng mạng, dữ liệu mà IP gửi tới tầng dưới được gọi là IP datagram Trong tầng liên kết, dữ liệu được truyền đi gọi là frame
Hình 1.5: Cấu trúc dữ liệu trong TCP/IP
Trang 13TCP/IP với OSI: mỗi tầng trong TCP/IP có thể là một hay nhiều tầng của
OSI Bảng sau chỉ rõ mối tương quan giữa các tầng trong mô hình TCP/IP với OSI
Bảng 1.1 :Bảng mối tương quan giữa các tầng trong mô hình TCP/IP với OSI
Sự khác nhau giữa TCP/IP và OSI chỉ là:
Tầng ứng dụng trong mô hình TCP/IP bao gồm luôn cả 3 tầng trên của mô hình OSI
Tầng giao vận trong mô hình TCP/IP không phải luôn đảm bảo độ tin cậy của việc truyển tin như ở trong tầng giao vận của mô hình OSI mà cho phép thêm một lựa chọn khác là UDP
1.4.2 Một số giao thức cơ bản trong bộ giao thức TCP/IP
1.4.2.1 Giao thức liên mạng IP (Internet Protocol)
Giao thức liên mạng IP là một trong những giao thức quan trọng nhất của
bộ giao thức TCP/IP Mục đích của giao thức liên mạng IP là cung cấp khả năng kết nối các mạng con thành liên mạng để truyền dữ liệu IP là giao thức cung cấp dịch vụ phân phát datagram theo kiểu không liên kết và không tin cậy nghĩa là không cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu, không đảm bảo rằng IP datagram sẽ tới đích và không duy trì bất kỳ thông tin nào về những datagram đã gửi đi Khuôn dạng đơn vị dữ liệu dùng trong IP được thể hiện trên hình:
Trang 14Hình 1.6: Khuôn dạng dữ liệu trong IP
1.4.2.2 Giao thức UDP (User Datagram Protocol)
UDP là giao thức không liên kết, cung cấp dịch vụ giao vận không tin cậy được, sử dụng thay thế cho TCP trong tầng giao vận Khác với TCP, UDP không có chức năng thiết lập và giải phóng liên kết, không có cơ chế báo nhận (ACK), không sắp xếp tuần tự các đơn vị dữ liệu (datagram) đến
và có thể dẫn đến tình trạng mất hoặc trùng dữ liệu mà không hề có thông báo lỗi cho người gửi Khuôn dạng của UDP datagram được mô tả như sau:
Hình 1.7: Khuôn dạng UDP datagram
Trang 15Số hiệu cổng nguồn (Source Port - 16 bit): số hiệu cổng nơi đã gửi datagram
Số hiệu cổng đích (Destination Port - 16 bit): số hiệu cổng nơi datagram được chuyển tới
Độ dài UDP (Length - 16 bit): độ dài tổng cổng kể cả phần header của gói UDP datagram
UDP Checksum (16 bit): dùng để kiểm soát lỗi, nếu phát hiện lỗi thì UDP datagram sẽ bị loại bỏ mà không có một thông báo nào trả lại cho trạm gửi UDP có chế độ gán và quản lý các số hiệu cổng (port number) để định danh duy nhất cho các ứng dụng chạy trên một trạm của mạng Do có ít chức năng phức tạp nên UDP có xu thế hoạt động nhanh hơn so với TCP Nó thường dùng cho các ứng dụng không đòi hỏi độ tin cậy cao trong giao vận
1.4.2.3 Giao thức TCP (Transmission Control Protocol)
TCP và UDP là 2 giao thức ở tầng giao vận và cùng sử dụng giao thức IP trong tầng mạng Nhưng không giống như UDP, TCP cung cấp dịch vụ liên kết tin cậy và có liên kết
Có liên kết ở đây có nghĩa là 2 ứng dụng sử dụng TCP phải thiết lập liên kết với nhau trước khi trao đổi dữ liệu Sự tin cậy trong dịch vụ được cung cấp bởi TCP được thể hiện như sau:
Dữ liệu từ tầng ứng dụng gửi đến được được TCP chia thành các segment có kích thước phù hợp nhất để truyền đi
Khi TCP gửi 1 segment, nó duy trì một thời lượng để chờ phúc đáp
từ trạm nhận Nếu trong khoảng thời gian đó phúc đáp không tới được trạm gửi thì segment đó được truyền lại
Khi TCP trên trạm nhận nhận dữ liệu từ trạm gửi nó sẽ gửi tới trạm gửi 1 phúc đáp tuy nhiên phúc đáp không được gửi lại ngay lập tức mà thường trễ một khoảng thời gian
TCP duy trì giá trị tổng kiểm tra (checksum) trong phần Header của
dữ liệu để nhận ra bất kỳ sự thay đổi nào trong quá trình truyền dẫn Nếu
Trang 161 segment bị lỗi thì TCP ở phía trạm nhận sẽ loại bỏ và không phúc đáp lại để trạm gửi truyền lại segment bị lỗi đó
Giống như IP datagram, TCP segment có thể tới đích một cách không tuần tự Do vậy TCP ở trạm nhận sẽ sắp xếp lại dữ liệu và sau đó gửi lên tầng ứng dụng đảm bảo tính đúng đắn của dữ liệu
Khi IP datagram bị trùng lặp TCP tại trạm nhận sẽ loại bỏ dữ liệu trùng lặp
Hình 1.8: Khuôn dạng TCP segment
1.5 Cập nhật địa chỉ IP khi kết nối qua ADSL
Khi sử dụng kết nối ADSL để kết nối Internet chúng ta thường quan tâm tới việc kết nối ra ngoài Internet mà ít quan tâm tới việc liệu có thể kết nối từ ngoài Internet về modem và các tài nguyên ở bên trong mạng nội bộ không Một
kỹ thuật cho phép bạn có thể kết nối từ ngoài Internet về modem và có thể sử dụng các tài nguyên bên trong mạng nội bộ thông qua kết nối ADSL
Trang 17Hình 1.9: Mô tả cách cấp địa chỉ IP
Trước hết chúng ta cần để ý mỗi khi modem ADSL kết nối tới nhà cung cấp (ISP) thì nó được cấp một địa chỉ IP, địa chỉ này có giá trị trên Internet và nếu biết được địa chỉ này thì ở bên ngoài bạn có thể kết nối đến modem này thông qua Internet Nhưng lại có một vấn đề nảy sinh là mỗi khi tắt bật modem thì
nó lại được cấp một địa chỉ IP khác (IP do ISP cấp cho modem là IP động) Do vậy rất khó có thể biết được hiện giờ modem của mình đang được cấp địa chỉ là bao nhiêu
Để giải quyết vấn đề này chúng ta sử dụng giải pháp cập nhật động tên miền (DynDNS) tức là chúng ta sẽ sử dụng một nhà cung cấp tên miền miễn phí, tạo ra một Host (một tên) gắn vào các đuôi miễn phí của nhà cung cấp và dùng công cụ cập nhật động địa chỉ của modem tại thời điểm hiện tại do ISP cung cấp vào Host chúng ta tạo ra (gọi là Dynamic Update DNS - công cụ này cũng được các nhà cung cấp DynDNS cung cấp miễn phí) Mỗi khi có sự thay đổi địa chỉ
IP của Modem thì DynDNS sẽ có nhiệm vụ cập nhật vào Host mà chúng ta tạo
ra Và kể từ bây giờ khi đi ra ngoài Internet chỉ cần nhớ tên Host mà chúng ta
đã tạo ra để sử dụng mà không cần quan tâm tới địa chỉ IP tức thời của Modem nữa
Trang 181.6 Công nghệ Ethernet
1.6.1 Giới thiệu chung về Ethernet
Ngày nay, Ethernet đã trở thành công nghệ mạng cục bộ được sử dụng rộng rãi Sau 30 năm ra đời, công nghệ Ethernet vẫn đang được tiếp tục phát triển những khả năng mới đáp ứng những nhu cầu mới và trở thành công nghệ mạng phổ biến và tiện dụng
Ngày 22 tháng 5 năm 1973, Robert Metcalfe thuộc Trung tâm Nghiên cứu Palto Alto của hãng Xerox - PARC, bang California, đã đưa ra ý tưởng hệ thống kết nối mạng máy tính cho phép các máy tính có thể truyền dữ liệu với nhau và với máy in lazer Lúc này, các hệ thống tính toán lớn đều được thiết
kế dựa trên các máy tính trung tâm đắt tiền (mainframe) Điểm khác biệt lớn
mà Ethernet mang lại là các máy tính có thể trao đổi thông tin trực tiếp với nhau mà không cần qua máy tính trung tâm Mô hình mới này làm thay đổi thế giới công nghệ truyền thông
Chuẩn Ethernet 10Mbps đầu tiên được xuất bản năm 1980 bởi sự phối hợp phát triển của 3 hãng: DEC, Intel và Xerox Chuẩn này có tên DIX Ethernet (lấy tên theo 3 chữ cái đầu của tên các hãng)
Uỷ ban 802.3 của IEEE đã lấy DIX Ethernet làm nền tảng để phát triển
Năm 1985, chuẩn 802.3 đầu tiên đã ra đời với tên IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method vesus
Physical Layer Specification Mặc dù không sử dụng tên Ethernet nhưng hầu hết
mọi người đều hiểu đó là chuẩn của công nghệ Ethernet Ngày nay chuẩn IEEE 802.3 là chuẩn chính thức của Ethernet
IEEE đã phát triển chuẩn Ethernet trên nhiều công nghệ truyền dẫn khác nhau vì thế có nhiều loại mạng Ethernet
1.6.2 Các đặc tính chung của Ethernet
1.6.2.1 Cấu trúc khung tin Ethernet
Các chuẩn Ethernet đều hoạt động ở tầng Data Link trong mô hình 7 lớp OSI vì thế đơn vị dữ liệu mà các trạm trao đổi với nhau là các khung (frame)
Trang 19Cấu trúc khung Ethernet như sau:
DA
6 bytes
SA
6 bytes
Lengt
h
2 bytes
LLC
3 bytes
Data+pad 43–1479 bytes
FCS
4 bytes
Hình 1.10: Cấu trúc khung tin Ethernet
Các trường quan trọng trong phần mào đầu sẽ được mô tả dưới đây:
Preamble: trường này đánh dấu sự xuất hiện của khung bit, nó luôn mang giá trị 10101010 Từ nhóm bit này, phía nhận có thể tạo ra xung đồng hồ 10 Mhz SFD (start frame delimiter): trường này mới thực sự xác định sự bắt đầu của 1 khung Nó luôn mang giá trị 10101011
Các trường Destination và Source: mang địa chỉ vật lý của các trạm nhận và gửi khung, xác định khung được gửi từ đâu và sẽ được gửi tới đâu
LEN: giá trị của trường nói lên độ lớn của phần dữ liệu mà khung mang theo
FCS mang CRC (cyclic redundancy checksum): phía gửi sẽ tính toán trường này trước khi truyền khung Phía nhận tính toán lại CRC này theo cách tương tự Nếu hai kết quả trùng nhau, khung được xem là nhận đúng, ngược lại khung coi như là lỗi và bị loại bỏ
1.6.2.2 Cấu trúc địa chỉ Ethernet
Mỗi giao tiếp mạng Ethernet được định danh duy nhất bởi 48 bit địa chỉ (6 octet) Đây là địa chỉ được ấn định khi sản xuất thiết bị, gọi là địa chỉ MAC (Media Access Control Address)
Địa chỉ MAC được biểu diễn bởi các chữ số hexa (hệ cơ số 16) Ví dụ: 00:60:97:8F:4F:86 hoặc 00-60-97-8F-4F-86
Khuôn dạng địa chỉ MAC được chia làm 2 phần:
3 octet đầu xác định hãng sản xuất, chịu sự quản lý của tổ chức IEEE
Trang 203 octet sau do nhà sản xuất ấn định
Kết hợp ta sẽ có một địa chỉ MAC duy nhất cho một giao tiếp mạng Ethernet
Địa chỉ MAC được sử dụng làm địa chỉ nguồn và địa chỉ đích trong khung Ethernet
1.6.2.3 Các loại khung Ethernet
Các khung unicast
Giả sử trạm 1 cần truyền khung tới trạm 2 (trên hình vẽ )
Hình 1.11: Mô tả địa chỉ MAC
Khung Ethernet do trạm 1 tạo ra có địa chỉ: MAC nguồn: DB-C1
00-60-08-93-MAC đích: 00-60-08-93-AB-12
Đây là khung unicast
+ Khung này được truyền tới một trạm xác định
+ Tất cả các trạm trong phân đoạn mạng trên sẽ đều nhận được khung này nhưng:
+ Chỉ có trạm 2 thấy địa chỉ MAC đích của khung trùng với địa chỉ MAC
Trang 21Các trạm khác sau khi so sánh địa chỉ sẽ bỏ qua không tiếp tục xử lý khung nữa
Các khung broadcast
Các khung broadcast có địa chỉ MAC đích là FF-FF-FF-FF-FF-FF(48bit 1) Khi nhận được các khung này, mặc dù không trùng với địa chỉ MAC của giao tiếp mạng của mình nhưng các trạm đều phải nhận khung và tiếp tục xử
Note: Địa chỉ MAC nguồn của khung luôn là địa chỉ MAC của giao tiếp
mạng tạo ra khung Trong khi đó địa chỉ MAC đích của khung thì phụ thuộc vào một trong ba loại khung nêu trên
1.6.3 Hoạt động của Ethernet
Phương thức điều khiển truy nhập CSMA/CD quy định hoạt động của
hệ thống Ethernet
Một số khái niệm cơ bản liên quan đến quá trình truyền khung Ethernet:
Khi tín hiệu đang được truyền trên kênh truyền, kênh truyền lúc này bận và
ta gọi trạng thái này là có sóng mang – carrier
Khi đường truyền rỗi: không có sóng mang – absence carrier
Nếu hai trạm cùng truyền khung đồng thời thì chúng sẽ phát hiện ra sự xung đột và phải thực hiện lại quá trình truyền khung
Khoảng thời gian để một giao tiếp mạng khôi phục lại sau mỗi lần nhận khung được gọi là khoảng trống liên khung (interframe gap) – ký hiệu IFG
Trang 22Giá trị của IFG bằng 96 lần thời gian của một bit
Ethernet 10Mb/s: IFG = 9,6µs
Ethernet 100Mb/s: IFG = 960 ns
Ethernet 1000Mb/s: IFG = 96 ns
Cách thức truyền khung và phát hiện xung đột diễn ra như sau:
1- Khi phát hiện đường truyền rỗi, máy trạm sẽ đợi thêm một khoảng thời gian bằng IFG, sau đó nó thực hiện ngay việc truyền khung Nếu truyền nhiều khung thì giữa các khung phải cách nhau khoảng IFG
2- Trong trường hợp đường truyền bận, máy trạm sẽ tiếp tục lắng nghe đường truyền cho đến khi đường truyền rỗi thì thực hiện lại 1
3- Trường hợp khi quá trình truyền khung đang diễn ra thì máy trạm phát hiện thấy sự xung đột, máy trạm sẽ phải tiếp tục truyền 32 bit dữ liệu Nếu sự xung đột được phát hiện ngay khi mới bắt đầu truyền khung thì máy trạm sẽ phải truyền hết trường preamble và thêm 32 bit nữa, việc truyền nốt các bit này (ta xem như là các bit báo hiệu tắc nghẽn) đảm bảo tín hiệu sẽ tồn tại trên đường truyền đủ lâu cho phép các trạm khác (trong các trạm gây ra xung đột) nhận ra được sự xung đột và xử lý:
Sau khi truyền hết các bit báo hiệu tắc nghẽn, máy trạm sẽ đợi trong một khoảng thời gian ngẫu nhiên hy vọng sau đó sẽ không gặp xung đột và thực hiện lại việc truyền khung như bước 1
Trong lần truyền khung tiếp theo này mà vẫn gặp xung đột, máy trạm buộc phải đợi thêm lần nữa với khoảng thời gian ngẫu nhiên nhưng dài hơn
4- Khi một trạm truyền thành công 512 bit (không tính trường preamble),
ta xem như kênh truyền đã bị chiếm Điều này cũng có nghĩa là không thể có xung đột xảy ra nữa Khoảng thời gian ứng với thời gian của 512 bit được gọi là slotTime Đây là tham số quan trọng quyết định nhiều tới việc thiết kế
Do bản chất cùng chia sẻ kênh truyền, tại một thời điểm chỉ có một trạm được phép truyền khung Càng có nhiều trạm trong phân đoạn mạng thì sự xung đột càng xảy ra nhiều, khi đó tốc độ truyền bị giảm xuống
Trang 23Sự xung đột là hiện tượng xảy ra bình thường trong hoạt động của mạng Ethernet (từ xung đột dễ gây hiểu nhầm là mạng bị sự cố hay là hoạt động sai, hỏng hóc)
Khái niệm slotTime
Hình 1.12: Hai trạm hai phía xa nhất trong mạng Ethernet 10Mb/s
Trong ví dụ này, trạm 1 và trạm 2 được xem như hai trạm ở hai phía xa nhất của mạng Trạm 1 truyền khung tới trạm 2, ngay trước khi khung này tới trạm 2, trạm 2 cũng quyết định truyền khung (vì nó thấy đường truyền rỗi)
Để mạng Ethernet hoạt động đúng, mỗi máy trạm phải phát hiện và thông báo sự xung đột tới trạm xa nhất trong mạng trước khi một trạm nguồn hoàn thành việc truyền khung
Khung Ethernet kích cỡ nhỏ nhất là 512 bit (64 octet), do đó khoảng thời gian nhỏ nhất để phát hiện và thông báo xung đột là 512 lần thời gian một bit Ethernet 10Mb/s: slot Time = 51,2 µs Ethernet 100Mb/s: slot Time = 5,12 µs Ethernet 1000Mb/s: slot Time = 512 ns
Trường hợp vi phạm thời gian slotTime, mạng Ethernet sẽ hoạt động không đúng nữa Mỗi lần truyền khung, máy trạm sẽ lưu khung cần truyền trong bộ đệm cho đến khi nó truyền thành công Giả sử mạng không đáp ứng đúng tham số slotTime Trạm 1 truyền 512 bit thành công không hề bị xung đột, lúc này khung được xem là truyền thành công và bị xóa khỏi bộ đệm Do sự phát hiện xung đột bị trễ, trạm 1 lúc này muốn truyền lại khung
Trang 24cũng không được nữa vì khung đã bị xoá khỏi bộ đệm rồi Mạng sẽ không hoạt động đúng
Một mạng Ethernet được thiết kế đúng phải thỏa mãn điều kiện sau: “Thời gian trễ tổng cộng lớn nhất để truyền khung Ethernet từ trạm này tới trạm khác trên mạng phải nhỏ hơn một nửa slotTime”
Thời gian trễ tổng cộng nói tới ở đây bao gồm trễ qua các thành phần truyền khung: trễ truyền tín hiệu trên cáp nối, trễ qua bộ repeater Thời gian trễ của từng thành phần phụ thuộc vào đặc tính riêng của chúng Các nhà sản xuất thiết bị ghi rõ và khi thiết kế cần lựa chọn và tính toán để thỏa mãn điều kiện hoạt động đúng của mạng Ethernet
1.6.4 Các loại mạng Ethernet
IEEE đã phát triển chuẩn Ethernet trên nhiều công nghệ truyền dẫn khác nhau vì thế có nhiều loại mạng Ethernet Mỗi loại mạng được mô tả dựa theo ba yếu tố: tốc độ, phương thức tín hiệu sử dụng và đặc tính đường truyền vật
lý
Các hệ thống Ethernet 10Mb/s
10Base5 Đây là tiêu chuẩn Ethernet đầu tiên, dựa trên cáp đồng trục loại dày Tốc độ đạt được 10 Mb/s, sử dụng băng tần cơ sở, chiều dài cáp tối đa cho 1 phân đoạn mạng là 500m
10Base2 Có tên khác là “thin Ethernet”, dựa trên hệ thống cáp đồng trục mỏng với tốc độ 10 Mb/s, chiều dài cáp tối đa của phân đoạn là 185 m (IEEE làm tròn thành 200m)
10BaseT Chữ T là viết tắt của “twisted”: cáp xoắn cặp 10BaseT hoạt động tốc độ 10 Mb/s dựa trên hệ thống cáp xoắn cặp Cat 3 trở lên
10BaseF F là viết tắt của Fiber Optic (sợi quang) Đây là chuẩn Ethernet dùng cho sợi quang hoạt động ở tốc độ 10 Mb/s , ra đời năm 1993
Các hệ thống Ethernet 100 Mb/s – Ethernet cao tốc ( Fast Ethernet )
100BaseT Chuẩn Ethernet hoạt động với tốc độ 100 Mb/s trên cả cáp xoắn cặp lẫn cáp sợi quang
Trang 25100BaseX Chữ X nói lên đặc tính mã hóa đường truyền của hệ thống này (sử dụng phương pháp mã hoá 4B/5B của chuẩn FDDI) Bao gồm 2 chuẩn
1000Base-SX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng ngắn
1000Base-LX: tốc độ 1000 Mb/s, sử dụng sợi quang với sóng dài
1000BaseT Hoạt động ở tốc độ Giga bit, băng tần cơ sở trên cáp xoắn cặp Cat 5 trở lên Sử dụng kiểu mã hoá đường truyền riêng để đạt được tốc
độ cao trên loại cáp này
Kết luận chương 1:
Nội dung chương 1 đã giới thiệu khái quá về một số giao thức kết nội mạng như TCP/IP, Net BEUI, IPX/SPX trong đó tập trung nghiên cứu chi tiết giao thức TCP/IP Đồng thời giới thiệu các đặc tính chung của cấu trúc khung tin, khung địa chỉ của Ethernet và hoạt động của Ethernet Trên cơ sở các giao thức đó làm mục tiêu nghiên cứu tiếp chương 2 với nội dung giới thiệu các vi mạch giao tiếp và điều khiển phù hợp với tiêu chuẩn giao thức TCP/IP
Trang 26CHƯƠNG 2: KỸ THUẬT ĐIỀU KHIỂN THIẾT BỊ TRÊN CƠ SỞ MẠNG
INTERNET
2.1 Các chuẩn giao tiếp được sử dụng
Ghép nối dùng qua cổng nối tiếp là một trong những kỹ thuật được dùng rộng rãi nhất để ghép nối, giao tiếp giữa các thiết bị với nhau Qua cổng nối tiếp có thể ghép nối chuột, modem, máy in, bộ biến đổi A/D, các thiết bị đo lường hoặc để giao tiếp giữa các chip… Cách ghép nối này sử dụng phương pháp truyền thông theo kiểu nối tiếp, trong đó ở một thời điểm chỉ có 1 bit được gửi đi/nhận về trên một đường dẫn Đặc điểm này khác so với phương pháp truyền thống theo kiểu song song, trong đó nhiều bit được gửi đi đồng thời
Ưu điểm chính của kiểu truyền nối tiếp so với kiểu truyền song song là tiết kiệm dây dẫn, truyền đi được xa, khả năng chống nhiễu tốt hơn Nhưng lại có khuyết điểm là tốc độ truyền chậm hơn
Trong đồ án này dùng truyền thông nối tiếp RS 232 để giao tiếp giữa máy tính với module Mainboard hoặc Module Encoder và chuẩn giao tiếp SPI tốc độ cao để Module Encoder truyền tốc độ động cơ về cho Module Mainboard xử lý
2.1.1 Chuẩn giao tiếp RS232
2.1.1.1 Khái niệm chung
Là giao tiếp nối tiếp bất đồng bộ (asynchronous receiver transmitter), chậm hơn so với giao tiếp nối tiếp đồng bộ vì mỗi khung truyền bao gồm thêm Start bit để bắt đầu khung truyền, Stop bit để kết thúc và vì là bất đồng bộ nên tốc độ không thể đẩy lên quá cao được như nối tiếp đồng bộ Giữa Start bit và Stop bit là các bit data và bit kiểm ra chẵn lẻ (Parity bit) Vì là bất đồng bộ nên chấp nhận một sai số nhất định trong khi truyền
Giản đồ một khung truyền của giao thức RS 232 như sau:
Trang 27Hình 2.1: Giản đồ một khung truyền
2.1.1.2 Đặc tính kỹ thuật của chuẩn RS-232
Các yêu cầu về điện đƣợc qui định trong RS- 232C nhƣ sau:
Mức logic 1: nằm trong khoảng -3V÷12V
Mức logic 0: nằm trong khoảng +3V ÷ +12V
Trở kháng tải về phía bộ nhận của mạch phải lớn hơn 3000 và phải nhỏ hơn
7000
Tốc độ truyền / nhận dữ liệu cực đại là 100 Kbit/giây
Các lối vào của bộ nhận phải có điện dung nhỏ hơn 2,500 pF
Độ dài của cáp nối giữa máy tính và thiết bị ghép nối qua cổng nối tiếp không được vượt quá 15m nếu không sử dụng modem
Các giá trị tốc độ truyền dữ liệu chuẩn là : 50, 75, 110, 150, 300, 600, 1200,
2400, 4800, 9600, 19200, 28800,…,56600, 115200 baud
Sơ đồ chân trên máy tính:
Hầu hết các máy tính cá nhân được chế tạo gần đây đều có hai cổng nối tiếp RS-232, đôi khi có 3-4 cổng Cổng đầu tiên có tên là COM1 tiếp
Trang 28theo là COM2, COM3, COM4 Có hai kiểu đầu nối được sử dụng cho cổng nối tiếp RS-232 là loại 25 chân và 9 chân Trong đồ án này sử dụng loại 9 chân, còn gọi là đầu DB9 Sơ đồ chân như sau:
Hình2.2: Cổng Com nối vơi máy tính
3 TxD – Transmit data Truyền dữ liệu
7 RTS – Request to send Yêu cầu gửi
5 SG - Signal Ground Mass tín hiệu
1 DCD - Data carrier detect Phát tín hiệu mang dữ liệu
4 DRT - Data terminal Đầu cuối sẵn sàng
FG – Frame Ground Đất vỏ máy, dây bọc kim
Bảng2 1: Bảng chức năng các chân cổng com
Trong đó, quan trọng nhất là 2 chân TxD và RxD các chân còn lại chỉ đóng vai trò phụ trợ cho việc truyền nhận dữ liệu
2.1.1.3 Chuẩn giao tiếp nối tiếp bất đồng bộ RS-232
Sử dụng là RS-232 với định dạng khung truyền phổ biến là
Trang 29Hình 2.3: Sơ đồ khối truyền nhận SPI
Điều mấu chốt của SPI là thanh ghi dịch ở cả Master và Slave, và nguồn xung clock tạo bởi Master Sau đây là cách Master truyền một byte dữ liệu (gọi
là A) cho Slave và cùng lúc đó nó cũng nhận một byte khác (gọi là B) từ Slave Trước khi truyền, Master ghi A vào thanh ghi dịch của mình và Slave
Trang 30cũng ghi B vào thanh ghi dịch của mình Sau đó Master tạo ra 8 xung clock, tương ứng mỗi xung clock thì một bit trong thanh ghi dịch của Master được truyền sang thanh ghi dịch của Slave và ngược lại (hình 1.2) Sau khi xung clock cuối cùng thì Master hoàn thành nhận B còn Slave hoàn thành nhận A Có thể nhận thấy rằng quá trình truyền và nhận diễn ra đồng thời do đó đây được gọi
là truyền “song công” (duplex)
2.1.2.3 Sơ đồ chức năng chân của chuẩn SPI
Có 4 đường tín hiệu sử dụng cho chuẩn SPI (tương ứng với 4 pins):
MISO, MOSI, SCK, S S Dưới đây là chức năng của từng chân:
MISO (Master in Slave out): Đây là ngõ vào thanh ghi dịch của Master đồng thời là ngõ ra từ thanh ghi dịch của Slave
MOSI (Master out Slave in): Đây là ngõ ra từ thanh ghi dịch của Master đồng thời là ngõ vào thanh ghi dịch của Slave
SCK (Serial Clock): Chân tạo xung clock của Master và là chân ngõ vào xung clock của Slave
SS (Slave select):
Để giao tiếp nhiều Slave trên cùng bus SPI ta cần có phương pháp chọn Slave nào mà ta muốn kết nối ngay lúc đó Đây chính là chức năng của chân SS Nếu SS treo lên mức cao thì các chân SPI của thiết bị đó là các ngõ vào bình thường, và sẽ không thể nhận dữ liệu qua SPI Nếu SS ở mức thấp, SPI ở chế
độ Slave và có thể truyền nhận dữ liệu qua SPI Nếu giao tiếp đồng thời hai Salve, chân SS ở mỗi Slave nối với một ngõ ra bất kỳ của Master Khi muốn truyền SPI với Slave nào thì cho ngõ ra tương ứng với SS của Slave đó xuống mức thấp, các ngõ ra tương ứng với các chân SS của các Salve khác đưa lên mức cao Do các chân của chuẩn SPI được nối chung giữa Master và tất cả các Slave nên việc quản lý quá trình truyền nhận với một Slave nhất định phải được quy định chặt chẽ (mỗi lần chỉ giao tiếp với “một” Slave) nếu không có thể xảy ra tình trạng xung đột đường truyền
Trang 312.2.2 Sơ đồ và chức năng các khối
Trang 32Hình 2.5 Sơ đồ chân ENC28J60
Hình 2.6 Sơ đồ khối ENC28J60
Trang 33Các khối chức năng chính :
+ Khối giao tiếp SPI: Để ENC28J60 giao tiếp được với vi điều khiển Tốc độ giao tiếp tối đa là 20Mhz
+ Các thanh ghi điều khiển các chức năng của ENC28J60
+ Một bộ đệm là RAM hai chiều dung lượng 8Kbyte dùng để truyền nhận dữ liệu + Khối Arbiter có chức năng điều khiển quyền truy cập RAM của các khối RX, TX
+ PHY (Physical Layer) là mạch điện giải mã và mã hóa tín hiệu điện truyền trên cáp
Ngoài ra còn các khối: Khối dao động, khối ổn áp, khối chuyển mức điện áp
để phù hợp với mức điện áp của các vi điều khiển hoạt động 5V
2.2.3 Tên chân và chức năng
Trang 34Bảng 2.2 : Chức năng chân ENC28J60
+ Mô tả chức năng từng chân :
- Chân 1 : điều chỉnh với mức 2,5V Loại tụ điện kháng thấp, với một giá trị tiêu biểu là 10uF và một giá trị tối thiểu là 1uF so với mass tại đó
- Chân 2 : Mức tham chiếu mass
- Chân 3 : Tạo nguồn xung clock
- Chân 4 : Giá trị nguồn
- Chân 5 : Chức năng dự trữ
- Chân 6 : Dữ liệu vào của giao tiếp SPI
- Chân 7 : Dữ liệu ra của giao tiếp SPI
- Chân 8 : Xung nhịp cho giao tiếp SPI
- Chân 9 : Chế độ giao tiếp (ở mức thấp)
- Chân 10 : Thiết lập lại trạng thái hoạt động (ở mức thấp)
Trang 35- Chân 11 : Điện áp tham chiếu cho PHY RX
- Chân 12, 13 : Nhận dữ liệu từ mạng gửi về
- Chân 14 : Giá trị thực cho nguồn PHY Phải nối với điện trở khi nối đất
- Chân 15 : Mức tích cực cấp cho PHY TX
- Chân 16, 17 : Gửi dữ liệu lên trên mạng
- Chân 18 : Điện áp tham chiếu cho PHY TX
- Chân 19 : Nguồn 3,3 v cung cấp cho PHY RX
- Chân 20 : Nguồn 3,3 v cung cấp cho PHY TX
- Chân 21 : Điện áp tham chiếu cho PHY PLL
- Chân 22 : Điện áp tham chiếu cho dao động
- Chân 23 : Đầu vào dao động
- Chân 24 : Đầu ra dao động
- Chân 25 : Nguồn 3,3V cung cấp cho dao động
- Chân 26 : LED báo
- Chân 27 : LED báo
- Chân 28 : Nguồn cung cấp 33V
+ Chân CLKOUT : ENC28J60 tạo ra một nguồn xung clock ở chân CLKOUT Tần số của xung này có thể được chia 1,2,3,4,8 thông qua bộ prescaler bên trong ENC28J60 Thanh ghi ECOCON điều khiển tần số của xung clock Khi ENC28J60 được cấp điện (Power-on Reset), chân CLKOUT sẽ dao động với tần số 6.25Mhz sau khi OST hết hiệu lực Khi tắt chức năng của chân CLKOUT (ECOCON=0) , chân này ở mức thấp Khi thay đổi tần số ra, chân CLKOUT ở mức
Trang 36thấp trong khoảng từ 2 đến 8 xung clock từ chân OSC1 trước khi dao động với tần
số mới
+ Chân LEDA và LEDB : Hai chân này được nối với 2 LED báo tín hiệu Ta
có thể chọn mức sáng của LED gắn bên ngoài là mức 0 (sink current) hay mức 1 (source current) Sau khi reset, ENC28J60 sẽ nhận biết kiểu kết nối của LED và điều khiển các LED ở trạng thái mặc định được xác định trong thanh ghi PHLCON Trạng thái kết nối của LED nối vào chân LEDB xác định trạng thái ban đầu của bit PHCON1.PDPXMD sau khi reset
Hình 2.7 : Phân cực cho LED và thiết lập lại các tùy chọn cấu hình
Nếu LED không được kết nối, bit PDPXMD không được xác định
+ Khối tạo dao động : ENC28J60 hoạt động ở tốc độ 25Mhz Ta dùng thạch anh 25Mhz nối vào 2 chân OSC1 và OSC2 Hoặc có thể dùng nguồn dao động bên ngoài
+ Oscillator Start-up Timer (OST) : Timer này hết hiệu lực sau khi đếm được
7500 xung clock từ chân OSC1 (300us) kể từ khi Power-on Reset hoặc wake-up từ chế độ Power-Down Thời gian delay này dùng để “chờ” các khối chức năng trong ENC28J60 hoạt động ổn định trước khi bắt đầu giao tiếp với các ngoại vi ethernet Khi OST hết hiệu lực, bit CLKRDY trong thanh ghi ESTAT được set
Trang 37+ Mức Logic : Các chân input SCK, CS, SI, RESET có thể hiểu được mức điện áp của hệ thống 5V Nhưng để hệ thống 5V hiểu được mức điện áp từ các chân output của ENC28J60 hoạt động ở 3,3V thì ta cần dùng một mạch đệm Thường dùng cổng NAND hoặc cổng 3 trạng thái
Trang 38 Các thanh ghi điều khiển : Các thanh ghi điều khiển dùng để cấu hình, điều khiển và đọc các trạng thái của ENC28J60 Các thanh ghi này có thể được đọc/ghi trực tiếp với giao tiếp SPI
Bộ đệm dữ liệu : Bộ đệm là nơi chứa dữ liệu truyền/nhận Kích thước vùng nhớ này có thể thay đổi bằng phần mềm Chỉ có thể truy cập vùng nhớ này bằng các lệnh SPI là read buffer memory và write buffer memory
Các thanh ghi PHY : Các thanh ghi PHY được dùng cho hoạt động của khối PHY Không thể truy xuất các thanh ghi này bằng giao tiếp SPI
Hình 2.10 :Tổ chức bộ nhớ ENC28J60
Các thanh ghi điều khiển :
Trang 39Các thanh ghi điều khiển được chia thành 4 bank, mỗi bank dài 32 byte và được đánh địa chỉ 5bit Bit BSEL1:BSEL0 dùng để chọn bank Toàn bộ các thanh ghi điều khiển được liệt kê dưới đây:
Hình 2.11: Thanh ghi điều khiển
Bộ đệm ethernet
Vùng nhớ này có dung lượng 8Kbytes, chia thành hai vùng riêng biệt: vùng
dữ liệu nhận và vùng dữ liệu gửi Kích thước từng vùng được thiết lập thông qua giao tiếp SPI
Trang 40Hình 2.12 : Bộ đệm Ethernet
- Transmit Buffer Start : Bắt đầu bộ đệm truyền
- Buffer Write Pointer : Con trỏ đệm ghi
- Transmit Buffer End : Kết thúc bộ đệm truyền
- Receive Buffer Start : Bắt đầu bộ đệm nhận
- Buffer Read Pointer : Con trỏ đọc