Cổng Console trên Switch có tác dụng gì? Sử dụng như thế nào?

Để truy cập vào bộ chuyển mạch, thường ta sẽ truy cập từ xa bằng Telnet hoặc đăng nhập HTTP qua trình duyệt web. Tuy nhiên, ta có thể sử dụng cổng Console trên Switch để quản trị Switch mà không cần mạng. Trong bài viết này, ta sẽ tìm hiểu chi tiết xem cổng Console là gì? Chức năng của nó như thế nào và cách sử dụng nó ra sao!

Cổng Console là gì?

Cổng Console trên Switch là một cổng vật lý được tích hợp trên thiết bị, thường là cổng RJ-45 hoặc Mini-USB, được sử dụng để kết nối với máy tính hoặc thiết bị ngoại vi thông qua cáp console. Loại cổng này còn được gọi với cái tên khác như “cổng điều khiển”.

ảnh cổng Console trên Switch

Chức năng của cổng Console là để các quản trị viên đăng nhập vào bộ chuyển mạch mà không cần kết nối mạng. Loại cổng này thường được sử dụng với mục đích như:

  • Cho phép quản trị viên kết nối với Switch từ xa thông qua giao diện dòng lệnh. Điều này giúp quản trị viên có thể thực hiện các tác vụ quản lý và cấu hình mà không cần phải trực tiếp tiếp cận thiết bị.
  • Cổng Console là một phương tiện quan trọng để thiết lập các thông số cơ bản và cấu hình mạng ban đầu.
  • Trong tình huống cần khôi phục thiết lập gốc hoặc giải quyết sự cố lớn, cổng Console là công cụ quan trọng để thực hiện quy trình khôi phục từ xa.

Cáp Console

cáp console

Cáp Console là một loại cáp được sử dụng để kết nối thiết bị mạng, như Switch, Router, hoặc thiết bị mạng khác, với máy tính hoặc máy tính xách tay. Cáp này được thiết kế để tạo liên kết giữa cổng Console trên thiết bị mạng và cổng serial hoặc USB trên máy tính.

Cáp Console thường có một đầu kết nối phù hợp với cổng Console trên thiết bị mạng (thường là RJ-45 hoặc Mini-USB) và một đầu kết nối với cổng serial hoặc USB trên máy tính.

Phần mềm Terminal

Khi đã thiết lập kết nối thông qua cổng Console, bạn cần sử dụng phần mềm terminal để truy cập và tương tác với giao diện dòng lệnh của thiết bị mạng. Có 2 phần mềm Terminal phổ biến nhất là: PuTTY và SecureCRT

Phần mềm PuTTY:

  • Miễn phí và mã nguồn mở.
  • Hỗ trợ nhiều giao thức truy cập như SSH, Telnet, và Serial.
  • Giao diện đơn giản và dễ sử dụng.
  • Chạy trên nền Windows, nhưng cũng có thể sử dụng trên Linux.

Phần mềm SecureCRT:

  • Có phiên bản thương mại và cung cấp nhiều tính năng mạnh mẽ.
  • Hỗ trợ nhiều giao thức bảo mật như SSH, Telnet, và Serial.
  • Giao diện đồ họa chất lượng cao với nhiều tùy chọn tùy chỉnh.
  • Tích hợp tính năng kịch bản và tự động hóa.

Cách đăng nhập vào Switch bằng cổng Console

Để sử dụng cổng Console, ta sẽ thực hiện theo các bước sau:

  • Kết nối cổng Console trên Switch với máy tính sử dụng cáp Console phù hợp.
dùng cáp console để kết nối Switch và máy tính
  • Mở phần mềm terminal trên máy tính. Trong phần mềm terminal, chọn loại kết nối là “Serial” hoặc “SSH” tùy thuộc vào cách bạn kết nối với Switch.
  • Nhập địa chỉ IP của Switch nếu sử dụng kết nối SSH hoặc chọn cổng Serial tương ứng. Cấu hình các thông số kết nối như tốc độ baud, bits dữ liệu, parity, stop bits theo yêu cầu của Switch.
thiết lập thông số kết nối trên phần mềm Terminal
  • Nhấn nút “Open” hoặc “Connect” để mở kết nối. Màn hình terminal sẽ hiển thị cửa sổ đăng nhập. Nhập tên đăng nhập và mật khẩu để truy cập vào giao diện dòng lệnh của Switch.
màn hình đăng nhập của PUTTY

Thiết lập thông số kết nối

khi thiết lập kết nối thông qua cổng Console, quan trọng nhất là cấu hình đúng các thông số kết nối. Dưới đây là thông tin về các chỉ số và cách thiết lập.

  • Tốc độ Baud (Baud Rate): Đây là tốc độ truyền dữ liệu giữa thiết bị và máy tính. Thông thường, tốc độ baud phải được đặt cùng nhau ở cả hai đầu của kết nối. Một giá trị phổ biến là 9600 baud, nhưng tùy thuộc vào thiết bị, bạn có thể cần điều chỉnh giá trị này.
  • Bits Dữ liệu (Data Bits): Số bits dữ liệu xác định số bit thông tin được truyền trong mỗi ký tự. Thông thường, giá trị này là 8 bits, nhưng cũng có thể là 7 bits hoặc 9 bits tùy thuộc vào cấu hình thiết bị.
  • Parity (Chẵn Lẻ): Parity là một bit kiểm tra được thêm vào ký tự để kiểm tra lỗi truyền dẫn. Có ba loại parity chính: chẵn (even), lẻ (odd), và không có parity. Bạn cần đảm bảo rằng cả thiết bị và máy tính cùng sử dụng loại parity tương tự.
  • Stop Bits: Stop bits xác định kết thúc của mỗi ký tự và được thêm vào sau dữ liệu và parity. Thông thường, giá trị này là 1 stop bit, nhưng cũng có thể là 1.5 hoặc 2 stop bits.

System Management Bus, SMBUS là gì

Bus  quản lý hệ thống  ( SMBus  hoặc  SMB ) là bus hai dây đơn giản một đầu dùng cho mục đích giao tiếp nhẹ. Thường thấy nhất là trong chipset của bo mạch chủ máy tính để giao tiếp với nguồn điện cho lệnh BẬT/TẮT. Chức năng chính xác và giao diện phần cứng khác nhau tùy theo nhà cung cấp.

Nó bắt nguồn từ I²C để giao tiếp với các thiết bị băng thông thấp trên bo mạch chủ, đặc biệt là các chip liên quan đến nguồn điện như hệ thống pin sạc của máy tính xách tay (xem Hệ thống pin thông minh và ACPI). Các thiết bị khác có thể bao gồm máy chủ chính bên ngoài, cảm biến nhiệt độ, cảm biến quạt hoặc điện áp, công tắc nắp, bộ tạo xung nhịp và đèn RGB. Các thẻ bổ sung Kết nối thành phần ngoại vi (PCI) có thể kết nối với phân đoạn SMBus.

Một thiết bị có thể cung cấp thông tin nhà sản xuất, chỉ ra số model/bộ phận của nó, lưu trạng thái của nó cho sự kiện tạm dừng, báo cáo các loại lỗi khác nhau, chấp nhận các tham số điều khiển, trả về trạng thái qua SMBus và thăm dò các thanh ghi chipset. SMBus thường không thể cấu hình hoặc truy cập được bởi người dùng. Mặc dù các thiết bị SMBus thường không thể xác định chức năng của chúng, một liên minh PMBus mới đã mở rộng SMBus để bao gồm các quy ước cho phép điều đó.

SMBus được Intel và Duracell định nghĩa vào năm 1994. Nó mang theo xung nhịp, dữ liệu và hướng dẫn và dựa trên giao thức bus nối tiếp I²C của Philips. Dải tần số xung nhịp của nó là 10 kHz đến 100 kHz. (PMBus mở rộng đến 400 kHz.) Mức điện áp và thời gian của nó được định nghĩa chặt chẽ hơn so với I²C, nhưng các thiết bị thuộc về hai hệ thống này thường được trộn thành công trên cùng một bus. 

SMBus được sử dụng làm kết nối trong một số tiêu chuẩn quản lý nền tảng bao gồm: Định dạng chuẩn cảnh báo (ASF), Kiến trúc máy tính để bàn và thiết bị di động cho phần cứng hệ thống (DASH), Giao diện quản lý nền tảng thông minh (IPMI).

SMBus được sử dụng để truy cập thông tin cấu hình DRAM như một phần của phát hiện sự hiện diện nối tiếp (SPD). SMBus đã phát triển thành nhiều trường hợp sử dụng liệt kê hệ thống khác ngoài quản lý nguồn điện.

Khả năng tương tác SMBus/I²C

Mặc dù SMBus có nguồn gốc từ I²C nhưng có một số khác biệt chính giữa thông số kỹ thuật của hai bus này về mặt điện, thời gian, giao thức và chế độ hoạt động.

Điện

Điện áp đầu vào ( IL  và  IH )

Khi trộn các thiết bị, thông số kỹ thuật I²C xác định mức đầu vào là 30% và 70% điện áp cung cấp  DD , có thể là 5 V, 3,3 V hoặc một số giá trị khác. Thay vì liên hệ mức đầu vào bus với  DD , SMBus xác định chúng được cố định ở 0,8 và 2,1 V. SMBus 2.0 hỗ trợ  DD  trong phạm vi từ 3 đến 5 V. SMBus 3.0 hỗ trợ  DD  trong phạm vi từ 1,8 đến 5 V và  IH  = 1,35 V.

Dòng điện chìm ( IOL )

SMBus 2.0 định nghĩa lớp ‘Công suất cao’ bao gồm dòng điện chìm 4 mA không thể được điều khiển bởi chip I²C trừ khi điện trở kéo lên được định cỡ theo mức bus I²C.

Thiết bị NXP có bộ đặc tính điện công suất cao hơn SMBus 1.0. Sự khác biệt chính là khả năng tản dòng điện với  OL  = 0,4 V.

  • SMBus công suất thấp = 350 μA
  • Công suất cao của SMBus = 4 mA
  • Bus I²C = 3 mA

Các thiết bị ‘công suất cao’ SMBus và các thiết bị I²C-bus sẽ hoạt động cùng nhau nếu điện trở kéo lên có kích thước là 3 mA.

Tần số ( MAX  và  MIN )

Đồng hồ SMBus được xác định từ 10 đến 100 kHz trong khi I²C có thể là 0–100 kHz, 0–400 kHz, 0–1 MHz và 0–3,4 MHz, tùy thuộc vào chế độ. Điều này có nghĩa là bus I²C chạy ở tần số dưới 10 kHz sẽ không tuân thủ SMBus vì các thiết bị SMBus có thể hết thời gian chờ. Tuy nhiên, nhiều thiết bị SMBus sẽ hỗ trợ tần số thấp hơn.

SMBus 3.0 bổ sung tốc độ bus 400 kHz và 1 MHz.

Thời gian

  • SMBus định nghĩa thời gian chờ xung nhịp thấp, TIMEOUT là 35 ms. I²C không chỉ định bất kỳ giới hạn thời gian chờ nào.
  • SMBus chỉ định T LOW:SEXT  là thời gian mở rộng xung nhịp thấp tích lũy cho thiết bị phụ. I²C không có thông số kỹ thuật tương tự.
  • SMBus chỉ định T LOW:MEXT  là thời gian mở rộng xung nhịp thấp tích lũy cho thiết bị chính. Một lần nữa, I²C không có thông số kỹ thuật tương tự.
  • SMBus xác định cả thời gian tăng và giảm của tín hiệu bus. I²C thì không.
  • Thông số kỹ thuật thời gian chờ SMBus không ngăn cản các thiết bị I²C hợp tác đáng tin cậy trên SMBus. Nhà thiết kế có trách nhiệm đảm bảo rằng các thiết bị I²C sẽ không vi phạm các thông số thời gian bus này.

Giao thức

Sử dụng ACK và NACK

Có những điểm khác biệt sau đây trong việc sử dụng tín hiệu bus NACK: Trong I²C, bộ thu slave được phép không xác nhận địa chỉ slave, ví dụ nếu nó không thể nhận vì đang thực hiện một số tác vụ thời gian thực. SMBus yêu cầu các thiết bị phải luôn xác nhận địa chỉ của chính chúng, như một cơ chế để phát hiện sự hiện diện của thiết bị có thể tháo rời trên bus (pin, đế cắm, v.v.)

I²C chỉ rõ rằng một thiết bị phụ, mặc dù có thể xác nhận địa chỉ của chính nó, có thể quyết định, sau một thời gian trong quá trình truyền, rằng nó không thể nhận thêm bất kỳ byte dữ liệu nào nữa. I²C chỉ rõ rằng thiết bị có thể chỉ ra điều này bằng cách tạo ra not acknowledge trên byte đầu tiên theo sau.

Ngoài việc chỉ ra tình trạng thiết bị bận của slave, SMBus còn sử dụng cơ chế NACK để chỉ ra việc tiếp nhận lệnh hoặc dữ liệu không hợp lệ. Vì tình trạng như vậy có thể xảy ra ở byte cuối cùng của quá trình truyền, nên các thiết bị SMBus phải có khả năng tạo ra thông báo không xác nhận sau khi truyền từng byte và trước khi hoàn tất giao dịch. Điều này rất quan trọng vì SMBus không cung cấp bất kỳ tín hiệu gửi lại nào khác. Sự khác biệt trong việc sử dụng tín hiệu NACK này có ý nghĩa đối với việc triển khai cụ thể của cổng SMBus, đặc biệt là trong các thiết bị xử lý dữ liệu hệ thống quan trọng như máy chủ SMBus và các thành phần SBS.

Giao thức SMBus

Mỗi giao dịch tin nhắn trên SMBus tuân theo định dạng của một trong các giao thức SMBus đã xác định. Các giao thức SMBus là một tập hợp con của các định dạng truyền dữ liệu được xác định trong các thông số kỹ thuật I²C. Các thiết bị I²C có thể được truy cập thông qua một trong các giao thức SMBus tương thích với các thông số kỹ thuật SMBus. Các thiết bị I²C không tuân thủ các giao thức này không thể được truy cập bằng các phương pháp tiêu chuẩn như được xác định trong các thông số kỹ thuật SMBus và Advanced Configuration and Power Interface (ACPI).

Giao thức giải quyết địa chỉ

SMBus sử dụng phần cứng I²C và địa chỉ phần cứng I²C, nhưng bổ sung phần mềm cấp hai để xây dựng các hệ thống đặc biệt. Đặc biệt, thông số kỹ thuật của nó bao gồm Giao thức giải quyết địa chỉ có thể thực hiện phân bổ địa chỉ động. Cấu hình lại động phần cứng và phần mềm cho phép các thiết bị bus được ‘cắm nóng’ và sử dụng ngay lập tức mà không cần khởi động lại hệ thống. Các thiết bị được tự động nhận dạng và được gán địa chỉ duy nhất. Ưu điểm này tạo ra giao diện người dùng cắm và chạy. Trong cả hai giao thức đó, có một sự phân biệt rất hữu ích giữa Máy chủ hệ thống và tất cả các thiết bị khác trong hệ thống có thể có tên và chức năng của máy chủ hoặc máy tớ.

Tính năng tạm dừng

SMBus có tính năng time-out giúp thiết lập lại thiết bị nếu quá trình giao tiếp mất quá nhiều thời gian. Điều này giải thích tần số xung nhịp tối thiểu là 10 kHz để tránh khóa bus. I²C có thể là bus ‘DC’, nghĩa là thiết bị phụ kéo dài xung nhịp chính khi thực hiện một số thói quen trong khi thiết bị chính đang truy cập vào nó. Điều này sẽ thông báo cho thiết bị chính rằng thiết bị phụ đang bận nhưng không muốn mất liên lạc. Thiết bị phụ sẽ cho phép tiếp tục sau khi nhiệm vụ của nó hoàn tất. Không có giới hạn nào trong giao thức bus I²C về thời gian trễ này, trong khi đối với hệ thống SMBus, nó sẽ bị giới hạn ở mức 35 ms. Giao thức SMBus chỉ cho rằng nếu một việc gì đó mất quá nhiều thời gian, thì điều đó có nghĩa là có sự cố trên bus và tất cả các thiết bị phải đặt lại để xóa chế độ này. Khi đó, các thiết bị phụ không được phép giữ xung nhịp THẤP quá lâu.

Kiểm tra lỗi gói tin

SMBus 1.1 và các phiên bản sau đó định nghĩa  Kiểm tra lỗi gói  ( PEC ) tùy chọn. Trong chế độ đó, một byte PEC (mã lỗi gói) được thêm vào cuối mỗi giao dịch. Byte được tính là tổng kiểm tra CRC-8, được tính trên toàn bộ tin nhắn bao gồm địa chỉ và bit đọc/ghi. Đa thức được sử dụng là x 8 +x 2 +x+1 (thuật toán CRC-8-ATM HEC, được khởi tạo bằng không).

NHÂN VIÊN NHỎ

SMBus có một tín hiệu ngắt chia sẻ tùy chọn bổ sung được gọi là SMBALERT#, có thể được các slave sử dụng để yêu cầu host hỏi các slave của nó về các sự kiện quan tâm. SMBus cũng định nghĩa một “Host Notify Protocol” ít phổ biến hơn, cung cấp các thông báo tương tự nhưng truyền nhiều dữ liệu hơn và xây dựng trên chế độ đa master I²C.

Bộ điều khiển quản lý bo mạch chủ Baseboard Management Controller (BMC)

BMC (Baseboard Management Controller) là một vi điều khiển chuyên dụng được nhúng trên bo mạch chủ của máy chủ và các máy tính cao cấp. Chức năng chính của nó là cung cấp khả năng quản lý từ xa ngoài băng tần, cho phép quản trị viên giám sát và điều khiển máy chủ từ xa ngay cả khi hệ điều hành không hoạt động hoặc máy chủ bị tắt.

BMC là một thành phần quan trọng trong việc quản lý hệ thống của các chuyên gia IT, đặc biệt là trong trung tâm dữ liệu và các môi trường máy chủ quy mô lớn. Nó hoạt động độc lập với hệ thống chính, có bộ xử lý, bộ nhớ và giao diện mạng riêng, đảm bảo rằng nó vẫn có thể hoạt động ngay cả khi hệ thống chính bị tắt hoặc không phản hồi.

Các chức năng chính của BMC

  • Giám sát hệ thống từ xa: Theo dõi tình trạng phần cứng như nhiệt độ, tốc độ quạt, điện áp, và các thông số hiệu suất quan trọng khác.
  • Quản lý nguồn từ xa: Cho phép bật/tắt hoặc khởi động lại máy chủ từ xa.
  • Khôi phục và bảo trì hệ thống: Hỗ trợ truy cập máy chủ từ xa để thực hiện khắc phục sự cố và bảo trì khi hệ thống gặp sự cố hoặc lỗi nghiêm trọng.
  • Ghi nhật ký hệ thống: Lưu trữ nhật ký sự kiện để hỗ trợ chẩn đoán và giải quyết lỗi phần cứng.
  • Cập nhật firmware và cấu hình từ xa: Cho phép cập nhật firmware, thay đổi cấu hình hệ thống một cách hiệu quả trên nhiều máy chủ.

BMC đóng vai trò quan trọng trong quản lý trung tâm dữ liệu, giúp quản trị viên giảm thiểu nhu cầu tiếp cận vật lý với phần cứng, đồng thời nâng cao hiệu suất và tính linh hoạt trong quản lý hệ thống.

Ưu điểm và thách thức của BMC

Ưu điểm:

  • Quản lý từ xa hiệu quả: Giúp quản trị viên IT giám sát và điều khiển máy chủ từ xa, đặc biệt hữu ích trong các trung tâm dữ liệu xa.
  • Cải thiện tính sẵn sàng và độ tin cậy của hệ thống: Hỗ trợ khắc phục sự cố từ xa, giảm thiểu thời gian chết (downtime).
  • Tối ưu hóa tài nguyên: Giảm chi phí vận hành bằng cách hạn chế việc tiếp cận vật lý để quản lý hệ thống.
  • Bảo trì chủ động: Cung cấp nhật ký hệ thống và dữ liệu hiệu suất giúp dự đoán và ngăn ngừa lỗi phần cứng.
  • Bảo mật truy cập từ xa: Khi được bảo vệ đúng cách, BMC cung cấp phương thức truy cập từ xa an toàn để quản lý hệ thống.

Thách thức và rủi ro:

  • Rủi ro bảo mật: BMC có thể trở thành mục tiêu của các cuộc tấn công mạng nếu không được bảo mật đúng cách (ví dụ: cập nhật firmware kém, mật khẩu yếu).
  • Cấu hình và bảo trì phức tạp: Cần có chuyên môn để thiết lập và duy trì BMC đúng cách.
  • Phụ thuộc vào hạ tầng mạng: Nếu gặp sự cố mạng, việc quản lý từ xa qua BMC có thể bị ảnh hưởng.
  • Tương thích phần cứng: Không phải tất cả các máy chủ đều có BMC, và có thể có vấn đề về tương thích giữa BMC với phần cứng hoặc firmware.

Bằng cách hiểu rõ những thách thức này, doanh nghiệp có thể tận dụng lợi ích của BMC để cải thiện hiệu suất quản lý máy chủ và trung tâm dữ liệu.

Câu hỏi thường gặp về BMC

BMC trên bo mạch máy chủ là gì?
BMC là một vi điều khiển nhúng trên bo mạch chủ của máy chủ, cung cấp khả năng quản lý ngoài băng tần (out-of-band). Nó hoạt động độc lập với CPU và hệ điều hành chính, giúp quản trị viên giám sát và điều khiển máy chủ từ xa ngay cả khi hệ thống bị tắt hoặc không phản hồi.

BMC khác gì so với phương pháp quản lý máy chủ truyền thống?
BMC cung cấp cơ chế quản lý tiên tiến hơn, có thể hoạt động mà không cần phụ thuộc vào hệ điều hành. Trong khi các phương pháp cũ yêu cầu truy cập vật lý hoặc dựa vào phần mềm hệ điều hành, BMC hoạt động ngoài băng tần, giúp quản lý máy chủ liên tục và hiệu quả hơn.

BMC có thể quản lý nhiều máy chủ cùng lúc không?
Có. Trong các trung tâm dữ liệu lớn, BMC có thể được tích hợp với phần mềm quản lý tập trung, cho phép giám sát và điều khiển nhiều máy chủ từ một giao diện duy nhất.

Làm thế nào để tìm BMC trên máy chủ của tôi?
Bạn có thể tìm thấy BMC bằng cách:

  • Kiểm tra tài liệu của máy chủ.
  • Xác định chip BMC trên bo mạch chủ (thường nằm gần cổng mạng hoặc CPU).
  • Truy cập BIOS/UEFI, nơi có thông tin về BMC.

Những biện pháp bảo mật quan trọng đối với BMC?

  • Cập nhật firmware thường xuyên để vá lỗi bảo mật.
  • Đặt mật khẩu mạnh và thay đổi mật khẩu mặc định.
  • Phân đoạn mạng, chỉ cho phép truy cập BMC từ các mạng an toàn.
  • Sử dụng giao thức bảo mật như TLS và SSH để tránh bị tấn công.

BMC đóng góp gì vào hiệu suất trung tâm dữ liệu?
BMC giúp giảm thời gian chết, tối ưu hóa tiêu thụ năng lượng, cải thiện khả năng bảo trì và giảm chi phí vận hành, từ đó nâng cao hiệu quả tổng thể của trung tâm dữ liệu.

BMC có tương thích với tất cả các máy chủ không?
Không phải tất cả các máy chủ đều có BMC. Trước khi mua hoặc nâng cấp, cần kiểm tra khả năng tương thích giữa BMC, phần cứng và firmware của máy chủ.


Tóm lại, BMC là một công cụ mạnh mẽ giúp quản lý và giám sát máy chủ từ xa, đặc biệt quan trọng trong các trung tâm dữ liệu lớn. Nếu được triển khai và bảo mật đúng cách, nó sẽ giúp tối ưu hóa vận hành, giảm chi phí và tăng cường hiệu suất hệ thống.

Lệnh GREP là gì? 11 Cách sử dụng lệnh GREP trong linux

Lệnh GREP là một trong những lệnh cơ bản và quan trọng nhất trong hệ điều hành Linux. Với khả năng tìm kiếm và trích xuất các chuỗi ký tự từ các tập tin, lệnh GREP rất hữu ích trong quá trình phân tích và xử lý dữ liệu trên Linux. Đặc biệt, lệnh GREP còn hỗ trợ các biểu thức chính quy (regular expressions) để tìm kiếm các chuỗi ký tự phức tạp hơn.

Giới thiệu về lệnh GREP

Lệnh GREP là một trong những công cụ quan trọng trong Linux, được sử dụng để tìm kiếm và lọc các chuỗi trong file và thư mục. Các cách sử dụng của lệnh GREP khá đa dạng, từ tìm kiếm chuỗi trong một file đến tìm kiếm chuỗi trong tất cả các file và thư mục con.

Các cách sử dụng lệnh GREP

Để sử dụng lệnh GREP, người dùng có thể áp dụng nhiều cách khác nhau tùy vào mục đích sử dụng. Dưới đây là một số cách sử dụng phổ biến của lệnh GREP:

  • Tìm kiếm một chuỗi ký tự trong một tập tin.
  • Tìm kiếm một chuỗi ký tự trong nhiều tập tin cùng lúc.
  • Tìm kiếm một chuỗi ký tự với tùy chọn không phân biệt chữ hoa và chữ thường.
  • Tìm kiếm một chuỗi ký tự với biểu thức chính quy.
  • Tìm kiếm chỉ đúng các từ chứa chuỗi ký tự tìm kiếm.
  • Hiển thị các dòng kết quả với một số dòng trước và sau.
  • Tìm kiếm trong tất cả các tập tin trong thư mục con.
  • Tìm kiếm các dòng không chứa chuỗi ký tự tìm kiếm.
  • Đếm số lần xuất hiện của chuỗi ký tự tìm kiếm trong tập tin.
  • Hiển thị chỉ tên các tập tin chứa chuỗi ký tự tìm kiếm.
  • Hiển thị số dòng của kết quả tìm kiếm cuối cùng.

Các cách sử dụng của lệnh GREP không chỉ giúp người dùng tìm kiếm và trích xuất dữ liệu hiệu quả, mà còn giúp tiết kiệm thời gian và tăng độ chính xác trong quá trình làm việc trên Linux.

Tìm kiếm chuỗi trong một file

Lệnh grep trong Linux được sử dụng để tìm kiếm chuỗi trong các file văn bản. Dưới đây là cú pháp sử dụng lệnh grep để tìm kiếm một chuỗi trong một file:

grep “chuỗi cần tìm” tên_file

Trong đó:

  • “chuỗi cần tìm” là chuỗi văn bản bạn muốn tìm kiếm
  • tên_file là tên của file bạn muốn tìm kiếm

Ví dụ, để tìm kiếm chuỗi “Hello” trong file text.txt, bạn có thể sử dụng lệnh sau:

grep “Hello” text.txt

Kết quả sẽ là tất cả các dòng trong file text.txt chứa chuỗi “Hello”. Nếu không có dòng nào chứa chuỗi “Hello”, không có kết quả được trả về.

Tìm kiếm chuỗi trong nhiều file cùng lúc

Để tìm kiếm một chuỗi trong nhiều file cùng lúc, ta sử dụng cú pháp sau:

grep ‘chuỗi cần tìm’ file1 file2 file3…

Trong đó, chuỗi cần tìm là chuỗi mà bạn muốn tìm kiếm, và file1, file2, file3 là danh sách các file mà bạn muốn tìm kiếm. Bạn có thể liệt kê bất kỳ số lượng file nào mà bạn muốn tìm kiếm.

Ví dụ: để tìm kiếm chuỗi “hello world” trong các file file1.txt, file2.txt, và file3.txt, bạn có thể sử dụng lệnh sau:

grep ‘hello world’ file1.txt file2.txt file3.txt

Lệnh này sẽ tìm kiếm chuỗi “hello world” trong các file file1.txt, file2.txt, và file3.txt và hiển thị các dòng chứa chuỗi này.

Tìm kiếm chuỗi mà không phân biệt chữ hoa/chữ thường

Để tìm kiếm chuỗi mà không phân biệt chữ hoa/chữ thường, bạn có thể sử dụng tùy chọn “-i” hoặc “–ignore-case”. Cú pháp sử dụng như sau:

grep -i “chuỗi cần tìm” tên_file

Hoặc để tìm kiếm trong nhiều file cùng lúc:

grep -i “chuỗi cần tìm” tên_file_1 tên_file_2 …

Ví dụ:

grep -i “tenten” example.txt

Đoạn mã trên sẽ tìm kiếm tất cả các dòng trong file “example.txt” có chứa chuỗi “tenten” mà không phân biệt chữ hoa/chữ thường.

Tìm kiếm chuỗi sử dụng biểu thức chính quy (regular expression)

Để tìm kiếm chuỗi sử dụng biểu thức chính quy, ta sử dụng tham số “-E” hoặc “-P” sau lệnh grep để bật chế độ sử dụng biểu thức chính quy. Sau đó, ta nhập biểu thức chính quy vào để tìm kiếm chuỗi cần tìm.

Ví dụ: ta muốn tìm tất cả các từ bắt đầu bằng chữ “a” trong file “example.txt” sử dụng biểu thức chính quy, ta nhập lệnh sau:

grep -E ‘^a’ example.txt

Trong đó, “^a” là biểu thức chính quy để tìm kiếm các từ bắt đầu bằng chữ “a”. Kết quả trả về sẽ là tất cả các dòng trong file “example.txt” có chứa các từ bắt đầu bằng chữ “a”.

Tìm kiếm chuỗi đúng với từ khóa cụ thể

Để tìm kiếm chuỗi đúng với từ khóa cụ thể, ta sử dụng tham số -w hoặc –word-regexp. Khi đó, grep chỉ tìm kiếm chuỗi khớp với từ đúng, không tìm kiếm các từ chứa từ khóa đó. Ví dụ:

grep -w “apple” fruits.txt

Lệnh trên sẽ tìm kiếm các dòng trong file fruits.txt chứa từ “apple” mà không chứa các từ khác như “pineapple” hay “applesauce”.

Hiển thị các dòng kết quả với số dòng trước/sau

Để hiển thị số dòng trước hoặc sau kết quả tìm kiếm, ta sử dụng tham số -A và -B kèm với số lượng dòng cần hiển thị.

Ví dụ, để hiển thị 2 dòng trước và sau kết quả tìm kiếm trong file example.txt, ta sử dụng lệnh sau:

grep -A 2 -B 2 “pattern” example.txt

Lệnh trên sẽ hiển thị 2 dòng trước và 2 dòng sau kết quả tìm kiếm của chuỗi “pattern” trong file example.txt.

Nếu muốn chỉ hiển thị các dòng trước hoặc sau kết quả tìm kiếm, ta sử dụng tham số -A hoặc -B và truyền số lượng dòng cần hiển thị vào.

Ví dụ, để hiển thị 3 dòng trước kết quả tìm kiếm trong file example.txt, ta sử dụng lệnh sau:

grep -B 3 “pattern” example.txt

Lệnh trên sẽ hiển thị 3 dòng trước kết quả tìm kiếm của chuỗi “pattern” trong file example.txt.

Tìm kiếm chuỗi trong tất cả các file và thư mục con

Để tìm kiếm chuỗi trong tất cả các file và thư mục con, ta sử dụng thêm tùy chọn -r hoặc –recursive. Tùy chọn này cho phép lệnh GREP thực hiện tìm kiếm đệ quy trong tất cả các thư mục con.

Cú pháp sử dụng:

grep -r “chuỗi tìm kiếm” /đường/dẫn/thư/mục

Trong đó:

  • -r hoặc –recursive: Tìm kiếm đệ quy trong tất cả các thư mục con
  • “chuỗi tìm kiếm”: Chuỗi cần tìm kiếm
  • /đường/dẫn/thư/mục: Đường dẫn tới thư mục cần tìm kiếm

Ví dụ minh họa: Tìm kiếm chuỗi “error” trong tất cả các file và thư mục con trong thư mục /var/log:

grep -r “error” /var/log

Kết quả sẽ hiển thị tất cả các dòng chứa chuỗi “error” trong các file và thư mục con của /var/log.

Tìm kiếm chuỗi không có từ khóa cụ thể

Để tìm kiếm chuỗi không có từ khóa cụ thể trong một file sử dụng lệnh GREP với tham số “-v” và kết hợp với từ khóa cần loại trừ bằng biểu thức chính quy. Cú pháp sử dụng như sau:

grep -v ‘pattern’ filename

Trong đó “pattern” là từ khóa cần loại trừ và “filename” là tên file cần tìm kiếm.

Ví dụ: để tìm kiếm tất cả các dòng trong file “text.txt” mà không chứa từ “example”, ta sử dụng lệnh sau:

grep -v ‘example’ text.txt

Lệnh này sẽ hiển thị tất cả các dòng trong file “text.txt” mà không chứa từ “example”.

Đếm số lần xuất hiện của chuỗi trong file

Để đếm số lần xuất hiện của chuỗi trong một file, ta có thể sử dụng lệnh GREP với tùy chọn -c (count). Cú pháp sử dụng như sau:

grep -c “chuỗi” file.txt

Trong đó, chuỗi là chuỗi cần tìm kiếm và file.txt là tên file muốn tìm kiếm trong đó. Kết quả trả về sẽ là số lần xuất hiện của chuỗi trong file.

Ví dụ: để đếm số lần từ “Lorem” xuất hiện trong file “example.txt”, ta sử dụng lệnh:

grep -c “Lorem” example.txt

Kết quả trả về sẽ là số lần xuất hiện của từ “Lorem” trong file “example.txt”.

Hiển thị tên file chứa chuỗi kết quả

Để hiển thị tên các file chứa chuỗi kết quả, ta sử dụng tham số -l hoặc –files-with-matches.

Cú pháp sử dụng:

grep -l “chuỗi_cần_tìm” đường_dẫn_file_hoặc_thư_mục

Trong đó:

  • -l hoặc –files-with-matches: chỉ hiển thị tên file chứa chuỗi kết quả, không hiển thị nội dung dòng đó.
  • “chuỗi_cần_tìm”: là chuỗi cần tìm kiếm.
  • đường_dẫn_file_hoặc_thư_mục: là đường dẫn đến file hoặc thư mục chứa file cần tìm kiếm.

Ví dụ minh họa:

Giả sử ta có thư mục documents chứa các file văn bản, ta muốn tìm kiếm tất cả các file chứa từ “Tenten”. Ta sử dụng lệnh sau:

grep -l “Tenten” documents/

Kết quả hiển thị sẽ là tên các file chứa chuỗi “Tenten” trong thư mục documents và các thư mục con của nó.

Hiển thị số thứ tự dòng chứa chuỗi kết quả

Để hiển thị số thứ tự dòng chứa chuỗi kết quả, ta sử dụng tùy chọn -n của lệnh grep. Tùy chọn này sẽ hiển thị số thứ tự của dòng trên cùng với kết quả tìm kiếm.

Cú pháp sử dụng:

grep -n “chuỗi” file

Trong đó:

  • chuỗi: chuỗi cần tìm kiếm
  • file: tên file cần tìm kiếm trong

Ví dụ minh họa:

$ cat file.txt
Hello
This is a sample file
For testing grep command
Have a nice day

$ grep -n “is” file.txt
2:This is a sample file

Trong ví dụ này, lệnh grep -n “is” file.txt sẽ tìm kiếm chuỗi “is” trong file.txt và hiển thị kết quả với số thứ tự dòng đầu tiên là 2 (vì chuỗi “is” xuất hiện ở dòng thứ 2 của file).

Kết luận

Với những tính năng đa dạng và mạnh mẽ của lệnh GREP, người dùng có thể nhanh chóng và chính xác tìm kiếm thông tin cần thiết trong các file và thư mục trên hệ thống Unix/Linux của mình. Việc nắm vững cách sử dụng lệnh GREP là một kỹ năng quan trọng đối với các nhà phát triển, quản trị hệ thống và người dùng Unix/Linux nói chung.

How TDR impedance measurement work

Measuring impedance and checking for faults and discontinuities on different points of a PCB trace is not a cakewalk. This is because impedance is an AC property and cannot be measured like resistance. Time Domain Reflectometer (TDR) impedance measurements are essential for ensuring signal integrity in your design. Calculating rise time and propagation delay is important to carry out the impedance measurements.

TDR feeds a pulse onto the transmission line on a test coupon. Then it measures the characteristic impedance by analyzing the changes in the amplitude of the reflected waveform. Note that TDR will only observe the reflections if the injected pulse experiences any discontinuity in its path. If there is no discontinuity, the pulse will get absorbed by the termination provided at the far end of the transmission line, hence no reflections. But this is an ideal case. Any change in the impedance is displayed using the TDR graph.

What is a time-domain reflectometer (TDR)?

Time Domain Reflectometer (TDR) is an electronic device that uses reflected waveforms to decipher the characteristic impedance in controlled impedance circuit boards, a cable, a connector, and so on. It checks for electrical discontinuities in connectors or any other electrical path. Let us discuss some vital TDR features.

Velocity factor (VF)

For TDR operation, it is mandatory to know the signal pulse speed passing through the trace. Using VF, the TDR converts the time the reflected pulses take, into the distance. Vis the ratio of pulse speed on the trace to the speed of light.

Accuracy

TDR accuracy depends on the velocity factor (VF). It is good to test the trace from both ends.

Pulse level at the output

The output pulse level can be varied to assist in locating the discontinuities. Small trace path discontinuities and those at the far end of the transmission line will require a high pulse level. High pulse energy at near-end faults will distort a large section of the displayed trace, so lower pulse levels will be required.

Measurement range

Initially, it is best to set the range above the expected length of the trace so you can see the complete picture. A large fault can be missed if it is not there on the TDR display.

Automatic fault finding

Many TDRs have an automatic facility that may help identify some faults. It is also necessary to use the TDR manually to get the most from the instrument.

Factors affecting TDR resolution

If a TDR system has an insufficient resolution, small or closely spaced discontinuities may be smoothened together into a single aberration in the waveform. This effect may not only obscure some discontinuities but also may lead to inaccurate impedance measurements and readings.

Rise time in TDR impedance measurements

A reflection from any discontinuity present in the signal path has a rise time equal to or slower than that of the incident pulse. The spacings between two discontinuities present on a circuit path determine how closely their reflection will be positioned on the TDR waveform. It is tough to measure if two discontinuities have a distance of less than half of the system rise time. TResolution = ½ (TR(System))

Controlling rise time with TDR measurements

The fastest rise time is desirable in most cases, but sometimes, a speedy rise time can give confusing results on TDR. Let us take an example: If we test the impedance of a microstrip line with a 35ps rise, it gives a fine resolution. However, even the highest-speed logic families cannot match the 35ps rise time of the TDR step. Typical Emitter-Coupled Logic families (ECL) have output rise times ranging from 200ps to 2ns. Reflections from small discontinuities such as stubs or sharp corners in the microstrip will be quite visible and may produce large reflections at a 35ps rise time.

On the other hand, the same transmission line driven by ECL with a rise time of 1ns may produce negligible reflections. Misleading impedance readings can be corrected by compromising on the environment that the real operational signals need. It is often preferable to see the transmission lines’ TDR response to rise times similar to the actual circuit operation. To achieve this, some TDR measurement systems provide a means of increasing the apparent rise time of the incident pulse.

Significance of rise time and propagation delay

One of the most significant time-domain parameters, rise time, defines the transition time from one level to another. It is the time required for a voltage pulse to reach from 10% to 90% of the rising edge of a signal. High-speed signals feature faster rise time, which refers to a rapid transition between two voltage levels. For multi-level signals, there will be a quick shift between the various levels. Remember, faster rise time results in stronger EMI problems, and crosstalk.

rise-time.jpg
Rise time is the transition time for the signal to reach from 10% to 90%

On the flip side, propagation delay refers to the signal’s switching time from input to output. It is the function of the dielectric constant (Er) and the trace structure. The propagation delay is expressed in time per unit length. Stray capacitance is mainly responsible for time delay, especially in any high-speed and HDI boards.

propagation-delay.jpg
Graphical representation of propagation delay

How rise time and 3dB bandwidth are closely linked

In measurement instruments, such as oscilloscopes and spectrum analyzers, the rise time (Ꞇr) is directly related to the instrument’s 3dB bandwidth.

As described earlier, rise time depicts the time difference between two points on the rising pulse in response to an input step signal. The 3 dB bandwidth is defined as the frequency at which the voltage or current amplitude of the signal has declined to 70.7% of the reference amplitude. Fundamentally, it measures the frequency response.

These correlated parameters indicate the ability of the system to retaliate to sudden changes in an input signal. The relationship between rise time and 3 dB bandwidth can be smoothly estimated by considering the time and frequency response of an ideal RC low-pass filter.

Ꞇr = 0.35 / f 3dB
where Ꞇr is rise time, and f3dB is the frequency at 3 dB bandwidth.

This expression can not fetch accurate outcomes in a real-time situation. To obtain the exact result, the parameter of interest can be directly calculated using transfer functions. If the value of one of these parameters is known, you can calculate the other by involving techniques based on the Fourier transform.

Edge speed in TDR impedance measurements

Impedance is measured on the flat top of the pulse, not on the edge. So, what is the relevance of the edge speed? Edge speed does determine measurement resolution: i.e., a fast edge will reveal a short discontinuity; slower edges can see only longer discontinuities. Yet, because fast edges do respond to short discontinuities, they react greatly to the discontinuity of the probe tip, the signal injection pads, vias, and the discontinuity (typically) of the test trace at the injection point. For example, where a differential pair spreads out to reach the probe pads. This results in waveform aberrations that will typically mask or distort the test region of the measurement waveform.

Aberrations or ringing effects on TDR impedance measurements

Aberrations are like preconceived notions. PCB ringing is an example of aberrations in the incident pulse. Aberrations reach the discontinuity before the incident pulse and start generating the reflections. These early reflections reduce the TDR resolution, resulting in closely spaced discontinuities being unidentified.

Controlled Impedance Design Guide

6 Chapters – 56 Pages – 60 Minute Read

WHAT’S INSIDE:
  • Understanding why controlled impedance is necessary
  • Stack-up design guidelines
  • How to design for impedance
  • Common mistakes to avoid

Factors affecting TDR measurement accuracy

Several factors contribute to the accuracy of a TDR impedance measurement system.

Reference impedance

All TDR impedance measurements are performed by comparing reflected pulse amplitudes to the incident pulse amplitudes and providing the results in ohms or rho. However, the entire measurement process depends on the accuracy of reference impedance (Zo). For example, some TDR modules use a connector as a stable impedance reference for calculating the reflection coefficient.

Step amplitude and baseline correction

Modern TDR instruments monitor the baseline and incident step amplitude periodically. It allows the TDR system to be automatically compensated, suitable for very repeatable measurements even if the step amplitude offset drifts.

Aberrations in the incident pulse

Incident pulse aberrations cause errors while measuring the accurate amplitude of the reflected pulse if the pulse does not settle in a short time compared to the line being measured.

Noise

Random noise creates problems while making measurements for small impedance variations. Modern TDR measurement instruments use a signal-averaging technique to reduce the effects of random noise. But averaging reduces the processing speed of the TDR system.

Interconnect accuracy

Interconnect components and the probe-to-DUT interface also generate reflections and can produce inductive reflections. These reflections must settle down for measurement accuracy. Keeping the probe tip and ground leads short is good to avoid such problems.

Cable losses

Due to long test cables, the DUT impedance looks higher than its actual value. Also, the rise time and settling time of the incident pulse degrade when it reaches the end of the cable. This is how cable losses affect the TDR measurement accuracy since the effective amplitude of the incident step is different than expected. This amplitude inaccuracy can be ignored when the DUT impedance is close to 50ohms, but it needs to be taken into account for a larger or smaller impedance.

TDR test for impedance measurements

TDR tester incidents a signal onto the PCB conductor on a test coupon to measure the reflections when it travels through a transmission medium. If the conductor has a uniform impedance and is properly terminated, then there will be zero reflections, and the incident pulse will get absorbed in the far end by the termination.

On the contrary, if there are impedance variations, some incident signals will be reflected back to the source (TDR in this case). TDR compares these reflections with those generated by standard impedance. This is how it determines the impedance of the discontinuity present in the signal path. The distance to the reflecting impedance can also be calculated from the time that a pulse takes to return.

How are the TDR impedance measurements done?

TDR requires two conductors running in parallel to identify the change in impedance. Any connection, cable/trace type, cable/trace break, or fault will cause a variation in impedance value. Each type of change will have a different effect on the TDR display. A positive reflection will represent a higher impedance value, while a lower reflection will show a lower impedance value.

tdr-display-for-trace-impedance-discontinuities.jpg
Basic TDR operation. Image credit: Megger.com

TDR impedance measurements come with a limitation; the minimum system rise time. The total rise time consists of the combined rise time of the driving pulse and the oscilloscope or sampler that monitors the reflections. The important fact is that the trace’s characteristic impedance does not really change with frequency and is an inherent property of the trace structure.

TDR calculations using pulse and step technologies

Pulse technology

Pulse technology in TDR is a long-established approach. In this process, the transmitter imparts a single pulse, then gets disconnected. The receiver is now triggered to respond to the signal reflections. The time gap between shutting off the transmitter and switching on the receiver creates a dead zone in the operation.

A longer pulse enhances the measurement range, however, it gives a rise to the dead zone by elongating the activation time of the receiver. If the operator considers a shorter pulse, the dead zone can be reduced, but it limits the measurement range. Another constraint involved in pulse TDR is lower signal energy which degrades the signal-to-noise ratio and provides an incomplete cable test result.

Step technology

Step technology, mainly used in the VIAVI DSP TDR, uses a transmitter that sends signals continuously while the receiver reciprocates the reflected signals. This method does not have any dead zone like pulse technology. This fact allows the receiver to measure the impedance along the entire length of the cable.

A step signal with higher energy uplifts the signal-to-noise ratio. Step technology, with a feature of digital averaging, can also effectively diminish the interference, causing degradation of the received signal.

Time domain or frequency domain. Which is the real game-changer?

The TDR is a time domain reflectometer. It does not operate in the frequency domain. The high-frequency harmonics present in a pulse are mainly evident in the rising (or falling) edge speed. However, impedance is measured on the flat top of the pulse, not on the edge. In the case of a fast rise time pulse, the Fourier transform shows higher frequency harmonics than a pulse with a slower rise time. Although, while testing in the time domain, all pulse harmonics are reflected together, and the reflection is a combination of all its frequencies.

For a frequency test, you must use a frequency-domain tester, e.g., a VNA, which will sweep a sine wave through a range of frequencies and perform tests at specific frequencies. This is usually to ascertain signal loss at those frequencies. Board fabs typically don’t use a VNA because of the possible disadvantages. Namely, the front end is delicate and easily damaged and it requires manual intervention by a skilled operator. Also, the results vary from one user to the next and the time involved is usually seconds to minutes.

On the other hand, a TDR can be made robust, used by an unskilled operator, and measures and computes in a fraction of a second. It gives repeatable results from one user to the next, and test parameters can be easily programmed and don’t require user intervention. In theory, line impedance quickly drops to a stable level, as shown in the following chart. Er may decrease with frequency; see the table of frequency-dependent parameters given below.

tdr-impedance-measurement-for-a-single-ended-stripline.jpg
A single-ended, offset, 50ohms stripline.

The dielectric constant Er de-rates a little with increasing frequency as suggested in the table below, but since Zis inversely proportional to the square root of Er, that has minimal effect on impedance. This is just a typical table for a no-name product. The root of 4.2 = 2.0494, the root of 3.98 = 1.995: a change of only 2.7 percent.

frequency-dependent-parameters.jpg
Table showing frequency-dependent parameters.

Using this data in a frequency-dependent solver, the impedance of the trace looks like this (note the additional 1.5ohms and the fact that it’s nearly flat above about 800kHz).

tdr-trace-impedance-testing.jpg
Impedance of the example trace when using a frequency-dependent solver.

You may wonder why it dips initially. That’s because the current distribution in the trace cross-section begins to favor the trace side that faces the reference plane(s) instead of being more uniformly distributed around the four surfaces. Thus, moving close to the reference plane reduces loop inductance and increases apparent capacitance, both tending to reduce impedance. The extra 1.5ohms is due to the copper conductivity (or resistivity if you prefer) and skin depth at frequencies above a few kilohertz.

resistance-on-the-tdr-trace.jpg
Resistance appears as an upward slope.

This resistance shows on the TDR trace as an upward slope along the length of the display (the longer the trace, the greater the resistance). As I mentioned regarding coupons, some OEMs have discussed with me the inclusion of dedicated tests or “dummy” traces into completed bare circuit boards for on-board measurement of impedance. They wanted to do this out of concern that the panel edge coupons might not sufficiently and accurately represent onboard trace conditions due to the coupon’s physical placement on the panels. Dummy traces can more accurately represent on-board dimensions and environment due to their co-location, and they do have other potential advantages but have problems of their own.

Consider these issues:

  • How can you tie together the reference planes without affecting the rest of the board? In use, boards carry coupling capacitors and are connected to very low-impedance power supplies.
  • Using valuable board real estate for traces and test points on every board, thus increasing manufacturing cost.
  • Testing the trace on every board (what is the point of having per-board test traces if you aren’t going to test everyone?) resulting in another cost increase.

Not so easily handled in the test area.

  • Trace configurations (spurs, etc.) is likely to introduce unwanted and misleading waveform artifacts.
  • Appropriate probe access to the trace and reference planes is practically impossible.

To get some practical insights into VNA and TDR, watch our interview, VNA or TDR: the tight time-domain measurement by Mike Resso.

In a nutshell, board stripline traces are intended to achieve target impedances when loaded and powered. These conditions don’t prevail on a bare board, so on-board measurements are probably very misleading (read: impedance higher than target) unless extensive thought goes into designing the test traces for the purpose. Hence the use of coupons. Board manufacturers are better positioned to test striplines during the build process because, at some stage in the build process, every stripline is a microstrip (before lamination). At that point in the process, traces and the single reference plane are more easily accessible to test. For more on microstrip and stripline, see what is the difference between microstrip and stripline?

field solver can predict the impedance of the trace at this interim stage of the build. If subsequent laminations are completed accurately, as designed, then the finished target impedance will be achieved. TDR measurement gives the average height of the reflection. Let us see how the average pulse height changes when high-frequency harmonics are added: The graphic below shows the addition of a fundamental and its 3rd harmonic:

tdr-impedance-measurements-for-high-frequency-pulse.jpg
Average pulse height changes when more high-frequency harmonics is added. Graph Credit: Polarinstruments

If 5th harmonic is added:

tdr-measurements.jpg
Average pulse height changes when 5th harmonic is added. Graph Credit: Polarinstruments

Now all up to 23rd harmonics are added.

tdr-displaying-reflections.jpg
Average pulse height changes when up to 23rd harmonics are added. Graph Credit: Polarinstruments

Let us see the component sine waves up to the 23rd harmonic before addition:

component-sine-wave-in-tdr-measurements.jpg
Component sine wave up to 23rd harmonic. Graph Credit: Polarinstruments

We can conclude that the addition of higher harmonics makes the reflection flatter without changing its amplitude.

Reflection coefficient for TDR impedance measurements

TDR impedance measurements are defined in terms of the reflection coefficient. The term ‘ρ’ is the ratio of the reflected pulse amplitude to the incident pulse amplitude. Read our post on how to limit impedance discontinuity and signal reflection in PCB transmission lines.

ρ = (VReflected/VIncident) for a fixed termination (‘ZL’), ρ can be specified in terms of the transmission line’s characteristics impedance (Zo) and the load impedance (ZL).

VReflected/VIncident = (ZL-Zo)/(ZL+Zo)

We can now add values to check the condition of a matched load, short circuit, and open load. Here, ρ has a range of values ranging from +1 to -1 with ‘0’ signifying a matched load condition.

a.    If ZL=Zo, then load is matched. VReflected is equal to 0, and ρ is 0 too.

ρ = (VReflected/VIncident) = 0/V = 0

b.    ZL=0 represents a short circuit. It means VReflected and VIncident are equal with opposite polarity.

ρ = (VReflected/VIncident) = -V/V = -1

c.   ZL= ∞ represents an open circuit. It means VReflected and VIncident are equal with the same polarity.

ρ = (VReflected/VIncident) = V/V = 1

PCB Transmission Line eBook

5 Chapters – 20 Pages – 25 Minute Read

WHAT’S INSIDE:
  • What is a PCB transmission line
  • Signal speed and propagation delay
  • Critical length, controlled impedance and rise/fall time
  • Analyzing a PCB transmission line

Impedance calculations of transmission line and load

ZL =Zo ((1+ρ)/(1-ρ))

TDR impedance measurements can be displayed with volts, ohms, or ρ on the vertical magnitude scale and with time on the horizontal axis. Check the TDR results given below with a variety of impedance and terminations.

tdr-results-for-load-terminations.jpg
Open, short, matched, and mismatched terminations. Image Credit: Tektronix
tdr-results-with-diverse-impedance-and-terminations.jpg
Capacitive and inductive load terminations and discontinuities. Image Credit: Tektronix
tdr-waveform-for-series-and-shunt-load.jpg
Series-shunt and shunt-series capacitive/inductive loading. Image Credit: Tektronix

How to check PCB trace discontinuities with TDR?

The waveform given in the figure below is the result of an ideal pulse traveling through a transmission medium. A TDR setup produces an accurately controlled pulse with a fast rise time. Now let us send a data pulse along the same transmission path. The data pulse aberration will encounter multiple discontinuities in the transmission path, leading to random, intermittent issues. This is the reason TDR measurements are preferred to analyze trace and via impedance discontinuities for better signal integrity. Read 9 factors that lead to signal integrity issues in a PCB.

checking-trace-discontinuities-with-tdr.jpg
TDR measurements for better signal integrity. Image Credit: Tektronix

TDR impedance measurements for differential transmission lines

Most of the high-speed designs use a differential transmission line approach. Single-ended TDR impedance measurement techniques also apply to the differential transmission line. There are two unique modes of propagation associated with the characteristic impedance and propagation velocity of a transmission line, also termed odd mode and even mode impedance. Here are some tips for measuring differential impedance.

  • The odd mode impedance is measured by calculating impedance across one line while a complementary signal drives the other line.
  • The differential impedance is measured across the two lines with the pair driven differentially.
  • Differential impedance is the double of odd mode impedance.
  • The even mode impedance is measured across one line while an equivalent signal drives the other line.
  • The common mode impedance is defined as the impedance of the lines connected in parallel, which is half of the even mode impedance.

The TDR module provides a polarity-selectable step pulse for each of the two channels to measure accurate differential impedance. With this approach, the differential system can actually be driven differentially. The response of each side of the differential line is separately acquired and evaluated as a differential quantity. With the TDR system set up with complementary incident steps and using ohms units, adding the two channels yields the differential impedance.

Time Domain Reflectometer (TDR) testing provides a convenient and robust method for characterizing impedance of single-ended and differential transmission lines and networks. A TDR takes advantage of the fact that any change in impedance in a transmission line or network causes reflections that are a function of the magnitude of the discontinuity. Modern TDR-capable instruments automatically compare the incident and reflected amplitudes to provide a direct readout of impedance, reflection coefficient, and time for both common mode and differential impedance.

Also, waveform math functions built into the instrument can automatically display TDR results for a user-selected rise time. This makes it possible to see the response of a DUT to the signals it will encounter in its end application.

By employing consistent procedures, static protection, and good measurement practices, you will achieve stable and accurate TDR results. If rho=0, the trace will have no discontinuities and the TDR results do not report reflections. If you require any assistance in performing TDR measurements, let us know in the comments section. Our design experts will be happy to help you.

Source: protoexpress.com

Chuẩn giao tiếp I2C là gì?

Giới thiệu giao tiếp I2C

I2C kết hợp các tính năng tốt nhất của SPI và UART. Với I2C, bạn có thể kết nối nhiều slave với một master duy nhất (như SPI) và bạn có thể có nhiều master điều khiển một hoặc nhiều slave. Điều này thực sự hữu ích khi bạn muốn có nhiều hơn một vi điều khiển ghi dữ liệu vào một thẻ nhớ duy nhất hoặc hiển thị văn bản trên một màn hình LCD.

Giống như giao tiếp UART, I2C chỉ sử dụng hai dây để truyền dữ liệu giữa các thiết bị:

SDA (Serial Data) – đường truyền cho master và slave để gửi và nhận dữ liệu.

SCL (Serial Clock) – đường mang tín hiệu xung nhịp.

I2C là một giao thức truyền thông nối tiếp, vì vậy dữ liệu được truyền từng bit dọc theo một đường duy nhất (đường SDA).

Giống như SPI, I2C là đồng bộ, do đó đầu ra của các bit được đồng bộ hóa với việc lấy mẫu các bit bởi một tín hiệu xung nhịp được chia sẻ giữa master và slave. Tín hiệu xung nhịp luôn được điều khiển bởi master.

Cách hoạt động của I2C

Với I2C, dữ liệu được truyền trong các tin nhắn. Tin nhắn được chia thành các khung dữ liệu. Mỗi tin nhắn có một khung địa chỉ chứa địa chỉ nhị phân của địa chỉ slave và một hoặc nhiều khung dữ liệu chứa dữ liệu đang được truyền. Thông điệp cũng bao gồm điều kiện khởi động và điều kiện dừng, các bit đọc / ghi và các bit ACK / NACK giữa mỗi khung dữ liệu:

Điều kiện khởi động: Đường SDA chuyển từ mức điện áp cao xuống mức điện áp thấp trước khi đường SCL chuyển từ mức cao xuống mức thấp.

Điều kiện dừng: Đường SDA chuyển từ mức điện áp thấp sang mức điện áp cao sau khi đường SCL chuyển từ mức thấp lên mức cao.

Khung địa chỉ: Một chuỗi 7 hoặc 10 bit duy nhất cho mỗi slave để xác định slave khi master muốn giao tiếp với nó.

Bit Đọc / Ghi: Một bit duy nhất chỉ định master đang gửi dữ liệu đến slave (mức điện áp thấp) hay yêu cầu dữ liệu từ nó (mức điện áp cao).

Bit ACK / NACK: Mỗi khung trong một tin nhắn được theo sau bởi một bit xác nhận / không xác nhận. Nếu một khung địa chỉ hoặc khung dữ liệu được nhận thành công, một bit ACK sẽ được trả lại cho thiết bị gửi từ thiết bị nhận.

Địa chỉ

I2C không có các đường Slave Select như SPI, vì vậy cần một cách khác để cho slave biết rằng dữ liệu đang được gửi đến slave này chứ không phải slave khác. Nó thực hiện điều này bằng cách định địa chỉ. Khung địa chỉ luôn là khung đầu tiên sau bit khởi động trong một tin nhắn mới.

Master gửi địa chỉ của slave mà nó muốn giao tiếp với mọi slave được kết nối với nó. Sau đó, mỗi slave sẽ so sánh địa chỉ được gửi từ master với địa chỉ của chính nó. Nếu địa chỉ phù hợp, nó sẽ gửi lại một bit ACK điện áp thấp cho master. Nếu địa chỉ không khớp, slave không làm gì cả và đường SDA vẫn ở mức cao.

Bit đọc / ghi

Khung địa chỉ bao gồm một bit duy nhất ở cuối tin nhắn cho slave biết master muốn ghi dữ liệu vào nó hay nhận dữ liệu từ nó. Nếu master muốn gửi dữ liệu đến slave, bit đọc / ghi ở mức điện áp thấp. Nếu master đang yêu cầu dữ liệu từ slave, thì bit ở mức điện áp cao.

Khung dữ liệu

Sau khi master phát hiện bit ACK từ slave, khung dữ liệu đầu tiên đã sẵn sàng được gửi.

Khung dữ liệu luôn có độ dài 8 bit và được gửi với bit quan trọng nhất trước. Mỗi khung dữ liệu ngay sau đó là một bit ACK / NACK để xác minh rằng khung đã được nhận thành công. Bit ACK phải được nhận bởi master hoặc slave (tùy thuộc vào cái nào đang gửi dữ liệu) trước khi khung dữ liệu tiếp theo có thể được gửi.

Sau khi tất cả các khung dữ liệu đã được gửi, master có thể gửi một điều kiện dừng cho slave để tạm dừng quá trình truyền. Điều kiện dừng là sự chuyển đổi điện áp từ thấp lên cao trên đường SDA sau khi chuyển tiếp từ thấp lên cao trên đường SCL , với đường SCL vẫn ở mức cao.

Các bước truyền dữ liệu I2C

  1. Master gửi điều kiện khởi động đến mọi slave được kết nối bằng cách chuyển đường SDA từ mức điện áp cao sang mức điện áp thấp trước khi chuyển đường SCL từ mức cao xuống mức thấp.
  1. Master gửi cho mỗi slave địa chỉ 7 hoặc 10 bit của slave mà nó muốn giao tiếp, cùng với bit đọc / ghi.
  1. Mỗi slave sẽ so sánh địa chỉ được gửi từ master với địa chỉ của chính nó. Nếu địa chỉ trùng khớp, slave sẽ trả về một bit ACK bằng cách kéo dòng SDA xuống thấp cho một bit. Nếu địa chỉ từ master không khớp với địa chỉ của slave, slave rời khỏi đường SDA cao.
  2. Master gửi hoặc nhận khung dữ liệu.
  1. Sau khi mỗi khung dữ liệu được chuyển, thiết bị nhận trả về một bit ACK khác cho thiết bị gửi để xác nhận đã nhận thành công khung.
  1. Để dừng truyền dữ liệu, master gửi điều kiện dừng đến slave bằng cách chuyển đổi mức cao SCL trước khi chuyển mức cao SDA.

Một master với nhiều slave

Vì I2C sử dụng định địa chỉ nên nhiều slave có thể được điều khiển từ một master duy nhất. Với địa chỉ 7 bit sẽ có 128 (2 mũ 7) địa chỉ duy nhất. Việc sử dụng địa chỉ 10 bit không phổ biến, nhưng nó cung cấp 1.024 (2 mũ 10) địa chỉ duy nhất. Để kết nối nhiều slave đến một master duy nhất, bạn có thể đấu dây như thế này, với điện trở kéo lên 4,7K Ohm kết nối đường SDA và SCL với Vcc:

Nhiều master với nhiều slave

Nhiều master có thể được kết nối với một slave hoặc nhiều slave. Sự cố với nhiều master trong cùng một hệ thống xảy ra khi hai master cố gắng gửi hoặc nhận dữ liệu cùng một lúc qua đường SDA. Để giải quyết vấn đề này, mỗi master cần phải phát hiện xem đường SDA thấp hay cao trước khi truyền tin nhắn. Nếu đường SDA thấp, điều này có nghĩa là một master khác có quyền điều khiển bus và master đó phải đợi để gửi tin nhắn. Nếu đường SDA cao thì có thể truyền tin nhắn an toàn. Để kết nối nhiều master với nhiều slave, hãy sử dụng sơ đồ sau, với các điện trở kéo lên 4,7K Ohm kết nối các đường SDA và SCL với Vcc:

Ưu điểm và nhược điểm của I2C

Có rất nhiều điều ở I2C có thể khiến nó nghe có vẻ phức tạp so với các giao thức khác, nhưng có một số lý do chính đáng khiến bạn có thể muốn hoặc không muốn sử dụng I2C để kết nối với một thiết bị cụ thể:

Ưu điểm

Chỉ sử dụng hai dây

Hỗ trợ nhiều master và nhiều slave

Bit ACK / NACK xác nhận mỗi khung được chuyển thành công

Phần cứng ít phức tạp hơn so với UART

Giao thức nổi tiếng và được sử dụng rộng rãi

Nhược điểm

Tốc độ truyền dữ liệu chậm hơn SPI

Kích thước của khung dữ liệu bị giới hạn ở 8 bit

Cần phần cứng phức tạp hơn để triển khai so với SPI

Nguồn: dientutuonglai.com

Tìm hiểu về chip CPLD (Complex Programmable Logic Device) trong máy tính

CPLD (Complex Programmable Logic Device – Thiết bị logic lập trình được phức tạp) là một loại chip bán dẫn cho phép người dùng tự thiết kế và cấu hình các chức năng logic số theo nhu cầu. Nó nằm ở phân khúc giữa các chip logic đơn giản (PAL/GAL) và các chip FPGA cực kỳ phức tạp.

Lịch sử ra đời

  • Thập niên 1970 – 1980: Tiền thân của CPLD là các thiết bị SPLD (Simple Programmable Logic Devices) như PAL và PLA. Chúng chỉ có thể thực hiện các hàm logic rất đơn giản.
  • Năm 1984: Altera Corporation (nay thuộc Intel) phát hành thiết bị logic lập trình được đầu tiên.
  • Năm 1988: Altera giới thiệu dòng MAX 5000, được coi là chiếc CPLD mật độ cao đầu tiên trên thế giới. Đây là bước ngoặt chuyển đổi từ việc thực hiện các hàm logic rời rạc sang việc tích hợp cả một hệ thống con (subsystem) vào một con chip duy nhất.
  • Thập niên 1990 – 2000: Các hãng như Xilinx, Lattice và Atmel gia nhập thị trường, đưa CPLD trở nên phổ biến với khả năng tái lập trình thông qua công nghệ Flash hoặc EEPROM.

Mục đích và Kiến trúc

Mục đích chính của CPLD là cung cấp một giải pháp logic tùy chỉnh có tốc độ phản hồi cực nhanh, tính ổn định caokhông mất dữ liệu khi tắt nguồn.

  • Kiến trúc Macrocell: CPLD cấu tạo từ các khối macrocell (chứa các cổng AND/OR và Flip-flop). So với FPGA (dùng bảng tra cứu – LUT), CPLD có cấu trúc “thô” hơn nhưng độ trễ tín hiệu là cố định và có thể dự đoán trước được (deterministic timing).
  • Tính phi khả biến (Non-volatile): Đây là điểm khác biệt lớn nhất với FPGA. CPLD lưu cấu hình trong bộ nhớ Flash nội bộ, nên ngay khi bật nguồn, chip sẽ hoạt động ngay lập tức (“Instant-on”) mà không cần nạp lại code từ bộ nhớ ngoài.

Lĩnh vực sử dụng

CPLD thường đóng vai trò “keo dính” (glue logic) kết nối các thành phần khác trong một hệ thống điện tử:

  • Giao tiếp và Chuyển đổi giao thức: Cầu nối giữa các chuẩn bus khác nhau (ví dụ: chuyển đổi I2C sang SPI, hoặc quản lý địa chỉ bus dữ liệu).
  • Quản lý nguồn (Power Sequencing): Điều khiển thứ tự bật/tắt nguồn của các linh kiện phức tạp như CPU hoặc FPGA để tránh hỏng hóc.
  • Điều khiển thiết bị ngoại vi: Quản lý đèn LED, bàn phím, hoặc các cảm biến trong hệ thống nhúng.
  • Thiết bị y tế và Ô tô: Nhờ tính “Instant-on”, CPLD được dùng trong túi khí ô tô hoặc máy trợ tim—những nơi mà sự chậm trễ 1 giây khi khởi động cũng có thể gây nguy hiểm.

Xu hướng hiện tại (Năm 2026)

Hiện nay, ranh giới giữa CPLD và FPGA đang dần mờ nhạt:

  • CPLD lai (Hybrid CPLD): Các dòng chip mới (như Lattice MachXO3 hay Intel MAX 10) kết hợp bộ nhớ Flash của CPLD với tài nguyên logic mạnh mẽ của FPGA.
  • Tiêu thụ năng lượng cực thấp: Xu hướng dịch chuyển sang các dòng CPLD có dòng rò thấp, lý tưởng cho thiết bị đeo (wearables) và cảm biến IoT chạy pin.
  • Bảo mật phần cứng: CPLD hiện đại tích hợp các tính năng mã hóa để bảo vệ thiết kế chống lại việc sao chép trái phép (IP protection).

Tương lai của CPLD

  • Sự trỗi dậy của Automotive: Với sự bùng nổ của xe điện và xe tự lái, nhu cầu về CPLD cấp độ ô tô (Automotive-grade) để điều phối hệ thống lái và an toàn đang tăng trưởng mạnh (khoảng 7-9%/năm).
  • Edge Computing & AI: CPLD sẽ không chỉ làm các nhiệm vụ điều khiển đơn giản mà còn tham gia vào việc xử lý sơ bộ dữ liệu cảm biến (pre-processing) trước khi gửi về bộ xử lý trung tâm để tiết kiệm điện năng.
  • Thay thế ASIC: Với các dự án sản xuất quy mô nhỏ hoặc vừa, CPLD vẫn là lựa chọn hàng đầu nhờ chi phí thấp hơn nhiều so với việc đặt hàng sản xuất một chip ASIC riêng biệt.

Tóm lại: Nếu bạn cần một con chip “bật là chạy”, phản ứng tức thì và dùng để kết nối các linh kiện trên bo mạch, CPLD vẫn là ông vua không thể thay thế.

Bạn đang tìm hiểu về CPLD để phục vụ cho đồ án thiết kế mạch hay đang cân nhắc lựa chọn giữa CPLD và FPGA cho một dự án cụ thể?

UEFI

UEFI, là viết tắt tiếng Anh của Unified Extensible Firmware Interface, dịch là “Giao diện phần lõi mở rộng hợp nhất” là công nghệ tương lai thay thế cho BIOS đã lỗi thời.

UEFI là một hệ điều hành tối giản “nằm trên” phần cứng (hardware) và phần lõi (firmware) của máy tính. Thay vì được lưu trong phần lõi giống như BIOS, chương trình UEFI được lưu trữ ở thư mục /EFI/ trong bộ nhớ không-bốc hơi(non-volatile) (là bộ nhớ đảm bảo cho dữ liệu không bị hỏng mỗi khi mất điện). Vì vậy, UEFI có thể chứa trong bộ nhớ flash NAND trên bảng mạch chính (mainboard) hoặc cũng có thể để trên một ổ đĩa cứng, hay thậm chí là ngay cả trên một vùng tài nguyên mạng được chia sẻ. UEFI sẽ giúp quá trình khởi động an toàn hơn nhờ tính năng Secure Boot. Tính năng này chỉ hỗ trợ PC khởi động với các hệ điều hành là Windows 8 và Windows 10 chạy phiên bản 64-bit.

Lịch sử phát triển

Năm 1998, Intel mở đầu bằng một sáng kiến mới, công nghệ “Intel Boot Initiative” (IBI), sau đó được đổi tên là Extensible Firmware Interface (EFI), tạm dịch là “Giao diện firmware mở rộng”. Lúc đầu EFI chỉ được ứng dụng trong dòng máy Mac sử dụng bộ xử lý Intel của Apple, và bộ xử lý Itanium 2 trong server của HP. Đến năm 2007, Intel cùng với AMD, AMI, Apple, Dell, HP, IBM, Lenovo, Microsoft, và Phoenix Technologies tổ chức đàm phán đạt thỏa thuận thống nhất sử dụng công nghệ UEFI (EFI với nhãn hiệu mới) thay cho BIOS đã tồn tại nhiều vấn đề.

Tuy vậy, một trong những lý do khiến UEFI bị trì hoãn trong một thời gian dài là vì không được Microsoft hỗ trợ. Ngay cả bây giờ, Windows 32-bit cũng không hỗ trợ khả năng khởi động từ một hệ thống UEFI. Thiếu sự hỗ trợ đầy đủ của Microsoft khiến các nhà sản xuất OEM đã không sẵn lòng chuyển sang UEFI. Hiện, với Windows 8, hệ thống hỗ trợ khởi động an toàn với UEFI được thiết kế để đảm bảo rằng PC chỉ khởi động một hệ điều hành chính thống. Như vậy, có lẽ hầu hết PC được sản xuất từ khoảng cuối 2012, hoặc sang năm 2013, sẽ sử dụng UEFI thay cho BIOS cơ bản.

Ưu điểm của UEFI

Các hệ thống UEFI có các ưu điểm lợi thế như sau:

  • Hệ thống PC hoạt động hiệu quả hơn nhờ khởi động nhanh và rút ngắn được thời gian khắc phục sự cố do có thể tích hợp sẵn khả năng nối mạng và các công cụ sửa lỗi cơ bản mà BIOS đang bị giới hạn.
  • Khả năng quản lý thiết bị lưu trữ chính có dung lượng lớn. Nếu BIOS không thể khởi động từ các đĩa cứng với dung lượng lớn hơn 2,2TB (terabyte). Thì với việc sử dụng các ổ đĩa lớn hơn 2TB đang trở nên phổ biến, các nhà sản xuất OEM không có sự lựa chọn nào khác ngoài việc chuyển sang UEFI trên các PC, máy chủ cao cấp.
  • UEFI sử dụng bảng phân vùng GUID (Globally Unique IDentifier), kết hợp lại để thay thế cho cung mồi MBR và các phân vùng địa chỉ. GUID đem đến khả năng khởi động từ ổ đĩa cứng có dung lượng lớn cỡ 9,4ZB (zetabyte) – có thể coi gần như là vô hạn, gạt bỏ mọi lo lắng về quản lý ổ cứng dung lượng lớn.
  • Với UEFI, các nhà sản xuất OEM có thể tích hợp sẵn khả năng nối mạng và các công cụ sửa lỗi cơ bản.

Source: Wikipedia.

How Much Do You Know About QSFP56?

Over the past years, there have emerged various optical module form factor types with the growth of new technology and high-speed interconnects, among which QSFP56, as a member of the QSFP family, is a solution for 200G applications. What‘s the difference between QSFP56 with other QSFP family form factors? Is QSFP56 the same as QSFP56-DD? If you are wondering about these questions, this article is for you.

Figure 1: Transceiver form factor

QSFP56—Form Factor of 200G Transceivers

To make clear what QSFP56 is, let’s take a look at the QSFP form factor first. Quad Small Form-Factor Pluggable (QSFP) was developed after SFP, which was originally designed to replace the single-channel SFPs with high-density optical modules. Due to the fact that it denotes four lanes for up to 4 wavelengths, it provides higher bandwidth capacity compared with the SFP modules.

Developed on the basis of QSFP, 40G QSFP+ arose and then 100G QSFP28 came into use for high-density applications. With the rising of data traffic in data centers and advanced network applications, the market is urgent to achieve higher-speed general availability. There is more addition to QSFP family form factors, such as 200G QSFP56 and 400G QSFP56-DD.

Figure 2:Types of QSFP form factor

As an evolution of the previous 40G QSFP+ and 100G QSFP28, Quad 50 Gigabits Small Form-factor Pluggable (QSFP56) is the one designed for 200G Ethernet. QSFP56 denotes 4 x 50 to 56Gb/s in a QSFP form factor. Sometimes it can also be referred to as 200G QSFP for sake of simplicity. QSFP56 optical modules are similar to QSFP ones in terms of size and form factor. Classified by distance, QSFP56 modules can be divided into QSFP56 CR, SR, DR, FR, LR, which enables different transmission distances over a single mode fiber (SMF) or multimode fiber (MMF).

Generally, two QSFP56 modules can be used with an SMF or MMF to realize a 200G link. QSFP56 AOC/DAC is also a way to realize a 200G link by connecting QSFP56 ports on two devices in a simplified linking process. For bridging 200G QSFP56 ports with other speeds, there are 200G QSFP56 to 2x100G QSFP28 breakout cables and 200G QSFP56 to 4x50G SFP56 breakout cables to achieve 2x100G or 4x50G connections.

QSFP56 vs QSFP28 vs QSFP+

Seen from their industry names, QSFP56, QSFP28 and QSFP+ are very similar in that they share the same QSFP form factor as their postfix shows, and they have the same size as each other. However, their data center and connectivity capabilities are different. Below is a table listing the basic parameters of QSFP56, QSFP28, and QSFP+.

Industry nameYearoriginal meaningNumber of Electric LanesNumber of Optical LanesBit Rate/LaneModulationLine Rates
QSFP+2013Quad Small Form-factor Pluggable Plus4410GbpsNRZ40G
QSFP282016Quad Small Form-factor Pluggable 284425GbpsNRZ100G
QSFP562017Quad 50 Gigabits Small Form-factor Pluggable4450GbpsPAM4200G

From the comparison chart, it can be distinctly seen that compared with QSFP+ and QSFP28, the QSFP56 form factor performs a higher network speed as 200G QSFP supporting 4×50G channels. While QSFP+ is an evolution of QSFP to support 4×10G channels carrying 10G Ethernet, 10G fiber channel or QDR InfiniBand. It introduced the concept of multiplexing four lanes to increase the bandwidth, capable of handling 40Gbps line rates at 10GBaud NRZ per lane. QSFP28 supports 4×25G channels and contains 4-lane optical transmitter and 4-lane optical receiver as QSFP+ does.

The most significant change from QSFP+ and QSFP28 to QSFP56 is that QSFP56 made the change from NRZ encoding to PAM4 encoding. Though QSFP56 still uses 4 lanes as QSFP28, the modulation is doubled to 50G per channel, which enables more data on existing fiber, accordingly, more suitable for hyper-scale data center networks.

Shift from QSFP56 to QSFP56-DD (400G QSFP-DD)

With data centers undergoing rapid growth, the rising demand for data volume is pushing network components to support higher bandwidth and higher density. The latest iteration of optical module form factor is from QSFP56 to QSFP56-DD, which is also called 400G QSFP-DD. DD here refers to double density, representing reaching 400G (with 50G PAM4) by doubling data lanes of QSFP56, from 4 lanes to 8 lanes.

Though QSFP56-DD has the double density, its size is similar to QSFP56. 400G QSFP56-DD port is backward compatible with the QSFP transceiver which means as long as the switch supports, QSFP56 can work on the QSFP56-DD port. When using a QSFP56 module in an QSFP56-DD port, this port will be configured for a data rate of 200G, instead of 400G.

The QSFP56-DD form factor is now recognized by the 400G market as the 400G form factor that gets the most concern. Despite that nowadays 400G Ethernet is seen as a futureproofing solution for the next-generation data center, there is still a need for 200G QSFP56 for some organizations deploying 200G Ethernet.

Phân biệt nguyên lý hoạt động, tính năng của Modem, Switch và Router

Modem, Switch và Router là các thiết bị mạng chính, đóng vai trò quan trọng và không thể thiếu trong hệ thống mạng. Tuy nhiên, không phải ai cũng biết cách phân biệt và hiểu rõ về tính năng của từng thiết bị này. Trong bài viết dưới đây, SSS Việt Nam sẽ giúp cho bạn đọc hiểu rõ về các thiết bị này. Hãy cùng theo dõi nhé.

Khái niệm Modem, Switch và Router

Switch mạng là gì?

Switch là thiết bị chuyển mạch được sử dụng để cung cấp thêm cổng mở rộng và khả năng mở rộng của router. Thiết bị này sử dụng địa chỉ MAC để chuyển tiếp, gửi dữ liệu đến điểm đích. Các thiết bị switch thường được kết nối với router, bởi thiết bị này không có khả năng định tuyến do chúng không được kết nối trực tiếp với với modem trừ khi DHCP server ở nơi khác trên mạng. Thiết bị này cung cấp tốc độ mạng nhanh hơn, an toàn hơn.

Hình ảnh mô phỏng kết nối các thiết bị trong hệ thống mạng

Ứng dụng của switch

-Quản lý tốt luồng dữ liệu trên toàn mạng, ngăn chặn các nguồn truy cập trái phép.

-Sử dụng rộng rãi trong các ứng dụng SOHO (Small Office/Home Office). Các SOHO thường sử dụng duy nhất một switch duy nhất để truy cập các dịch vụ băng thông rộng khác nhau.

-Kết nối tất cả các thiết bị trong cùng một hệ thống mạng

-Có thể truyền thông tin, dữ liệu đến bất kỳ thiết bị nào.

-Kết nối và xây dựng hệ thống mạng của doanh nghiệp để đảm bảo đường truyền ổn định, mạnh mẽ, bảo mật và an toàn.

Hiện tại, SSS Việt Nam đang phân phối một số bộ chuyển mạch nổi bật như: CISCO CATALYST 9200 SERIESCISCO CATALYST 9300 SERIESCISCO CATALYST 3850 SERIES,  CISCO CATALYST 9500 SERIES

Modem là gì?

Modem là từ viết tắt của modulate and modulate, là thiết bị được sử dụng để điều chế tín hiệu tương tự nhau để mã hóa thành dữ liệu số. Đồng thời giải điều chế tín hiệu mạng để giải mã tín hiệu số. Thiết bị này thường được các nhà cung cấp dịch vụ mạng Internet cấp cho người đăng ký mạng truy cập vào Internet. Trong một số trường hợp, ta có thể kết hợp modem và router với nhau. Giúp cho chúng có thể hoạt động ổn định trong một phạm vi nhất định. Đảm bảo đường truyền ổn định, mạnh mẽ cho người sử dụng.

Router là gì?

Là một trong những thiết bị quan trọng, không thể thiếu trong hệ thống mạng. Còn được gọi với cái tên khác như thiết bị định tuyến, bộ định tuyến. Thiết bị này cho phép gửi các gói tin, dữ liệu dọc theo mạng. Router có thể kết nối với 2 hay nhiều mạng khác nhau. Thông thường sẽ là mạng LAN, WAN hoặc là một LAN và mạng ISP của nó.

Nói cách khác, Router là thiết bị được sử dụng để chia sẻ Internet tới các thiết bị khác trong cùng lớp mạng. Router có thể định vị được cổng ra/vào, nơi có 2 hoặc nhiều hơn các mạng kết nối. Đồng thời, thiết bị này sẽ quyết định lựa chọn và duy trì đường truyền dẫn thông tin từ một mạng đến mạng khác.

Phân biệt Modem, Switch và Router

Điểm chung giữa Modem, Switch và Router

-Là các thiết bị điện tử hình hộp nhỏ được lắp đặt trực tiếp trong hệ thống mạng

-Cho phép kết nối với các máy tính lại với nhau và liên lạc với nhau thông qua Internet Protocol.

-Đều có các cổng vật lý, cung cấp các điểm kết nối với các máy tính, nguồn điện…

-Có đèn LED hiển thị tình trạng hoạt động

Điểm khác biệt của Modem, Switch và Router

Sự khác biệt của Router với  modem

Như đã chia sẻ ở trên, trong mô hình 3 lớp của OSI, Router nằm ở lớp thứ 3, được sử dụng để kết nối và định tuyến các mạng với nhau. Khi sử dụng tại nhà, Router được sử dụng để kết nối với hệ thống mạng cục bộ do đơn vị cung cấp dịch vụ mạng cung cấp, một đầu sẽ kết nối với các switch (mạng cục bộ).

Thông thường, cổng Internet trên router sẻ kết nối với modem, các cổng còn lại sẽ kết nối các switch. Còn Modem chỉ có 1 cổng đồng trục duy nhất để kết nối với đơn vị cung cấp dịch vụ Internet  và một cổng Ethernet duy nhất để kết nối với cổng mạng trên router. Do đó, Modem thường được sử dụng để kết nối với các nhà cung cấp dịch vụ Internet qua đường dây thoại hoặc cáp quang.

Phân biệt giữa Switch và Router

Trong mô hình 3 lớp của OSI, router hoạt động ở lớp thứ 3 trong khi switch hoạt động ở lớp 2. Hiện nay cũng có một số thiết bị chuyển mạch switch hoạt động ở lớp thứ 3 và có khả năng định tuyến.

Router có thể kết nối với nhiều máy tính với nhau và cho phép chia sẻ một kết nối Internet. Còn switch chỉ cho phép bạn kết nối nhiều máy tính trong mạng cục bộ. Vậy nên, trình tự kết nối giữa 3 thiết bị này đó là modem-router-switch.