Khái niệm cổng truyền thông RS232 ( hay RS-232), chuẩn truyền thông RS232, cổng nối tiếp RS232, thiết bị chuyển đổi tín hiệu từ rs232 sang......rất phổ biến. Vậy, RS232 nó là cái gì? Hôm nay, BKAII sẽ giới thiệu tới các bạn khái niệm cơ bản về các vấn đề liên quan tới việc giao tiếp thiết bị qua cổng RS232.

Chuẩn truyền thông RS-232 được phát triển bởi the Electronic Industry Association and the Telecommunications Industry Association (EIA/TIA), là chuẩn truyền thông phổ biến nhất, thường được gọi tắt là RS-232 thay vì EIA/TIA-232-E. Chuẩn này chỉ đề cập đến việc truyền dữ liệu nối tiếp giữa một host (DTE-Data Terminal Equipment) và một ngoại vi (DCE-Data Circuit-Terminating Equipment).

Phiên bản đầu tiên của RS-232 được định nghĩa vào năm 1962, do đó các mức logic được định nghĩa khác với logic TTL. Ở ngõ ra của một mạch lái, mức cao (tương ứng với logic 0) là một điện áp từ +5 đến +15 V, còn mức thấp (tương ứng với logic 1) là một điện áp từ -5 đến -15 V. Tại ngõ vào của một bộ thu, mức cao được định nghĩa là từ +3 đến +15 V (gọi là space), và mức thấp được định nghĩa là từ -3 đến -15 V (gọi là mark).

Để giảm nguy cơ bị nhiễu giữa các tín hiệu kế cận, tốc độ thay đổi (slew rate) được giới hạn tối đa là 30 V/μs, và tốc độ cũng được giới hạn tối đa là 20 kbps (kilobit per second) (giới hạn này hiện đã được nâng lên nhiều lần).

Trở kháng nhìn bởi mạch lái được định nghĩa là từ 3 đến 7 kΩ. Tải dung tối đa của đường truyền cũng được giới hạn là 2500 pF, và như vậy tùy thuộc vào loại cáp mà chiều dài tối đa có thể được xác định từ điện dung trên đơn vị chiều dài của cáp.

Các tín hiệu RS-232 được định nghĩa tại DTE, theo bảng sau (chỉ nói đến các tín hiệu của đầu nối 9 chân)

Chân số Chức năng Chiều thông tin
1 Data Carrier Detect (DCD) Từ DCE
2 Receive Data Line (RD) Từ DCE
3 Transmit Data Line (TD) Đến DCE
4 Data Terminal Ready (DTR) Đến DCE
5 Ground
6 Data Set Ready (DSR) Từ DCE
7 Request To Send (RTS) Đến DCE
8 Clear To Send (CTS) Từ DCE
9 Ring Indicate (RI) Từ DCE

Các hệ thống logic hiện nay chủ yếu sử dụng các chuẩn logic TTL hay CMOS, do đó khi cần giao tiếp bằng chuẩn RS-232 sẽ phải dùng các mạch lái và thu (RS-232 driver và receiver, hay RS-232 transceiver) để chuyển đổi giữa TTL/CMOS và RS-232 vật lý. Các bộ transceiver hiện nay thường có sẵn các bơm điện tích (charge pump) để tạo ra các mức áp RS-232 vật lý (phổ biến là +12 V và -12 V) từ một điện áp nguồn đơn cực giá trị nhỏ (5 V hay 3.3 V).

Vì chuẩn RS-232 chỉ dành cho giao tiếp giữa DTE và DCE, do đó khi hai máy tính (là các DTE) cần giao tiếp với nhau thông qua chuẩn RS-232 thì cần phải có các DCE (chẳng hạn như modem) làm trung gian. Các DCE này là các ngoại vi nên có thể giao tiếp trực tiếp với nhau thông qua một chuẩn nào đó.

Hình 1 minh họa định dạng của một ký tự (character) được truyền theo chuẩn RS-232. Ở trạng thái nghỉ, các đường dữ liệu RS-232 ở trạng thái mark. Một ký tự luôn bắt đầu bằng một start bit (là một space), sau đó các bit được truyền theo thứ tự bit từ thấp đến cao (bit thấp nhất được truyền trước tiên), tiếp đến là một parity bit (nếu có), và cuối cùng là một hay nhiều stop bit (là một mark). Phổ biến nhất là định dạng 8N1, nghĩa là 8 bit dữ liệu, không có parity, và 1 stop bit.

Dinh dang mot ky tu
Định dạng của một ký tự truyền theo chuẩn RS-232

Việc đọc một bit được truyền đến thường được thực hiện tại giữa bit, do đó các bộ thu và phát thường sử dụng xung clock bằng 16 lần tốc độ baud (số bit truyền được trong mỗi giây trên một đường tín hiệu). Bộ thu sẽ dò start bit, và sẽ đọc bit đầu tiên sau 24 chu kỳ xung clock khi đã phát hiện được start bit, các bit sau đó sẽ được đọc sau mỗi 16 chu kỳ xung clock.

Như có thể thấy, việc đồng bộ xung clock giữa phía thu và phía phát được thực hiện ở mỗi start bit cho mỗi ký tự được truyền. Do đó, trong trường hợp xấu nhất là truyền 12 bit (1 start bit, 8 bit dữ liệu, 1 parity bit, và 2 stop bit), chúng ta có thể chấp nhận việc lệch giá trị xung clock giữa phía thu và phía phát tối đa là khoảng 3% (tại bit cuối cùng sẽ bị lệch 11x3 = 33%). Do đó, chúng ta không nhất thiết phải sử dụng các bộ dao động thật chính xác để tạo xung clock cho các bộ thu phát RS-232. Hay nói cách khác, chúng ta không cần độ sai lệch xung clock là 0% đối với giao tiếp RS-232.

Đa số các DTE và các DCE đều có các bộ truyền nhận bất đồng bộ đa dụng (UART-Universal Asynchronous Receiver/Transmitter) ở dạng module phần cứng, do đó chúng ta thường không cần quan tâm đến các thao tác cấp thấp trong việc sử dụng giao tiếp RS-232. Tuy nhiên, nếu phần cứng của thiết bị không hỗ trợ giao tiếp RS-232, chúng ta có thể sử dụng một UART ngoài hay sử dụng phần mềm để giả lập một UART (kỹ thuật này thường được gọi là bit-banging).

Bài viết mới cập nhật...

37.394MBMemory Usage521msRequest Duration
Joomla! Version4.4.13
PHP Version8.1.32
Identityguest
Response200
Templatet3_bs3_blank
Database
Server
mysql
Version
10.11.8-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
array:1 [ "srsltid" => "AfmBOoqwtFNReYhZ6KbNaA2nMehBkZugAuuCYcNrVO05lLDxETphKnyd" ]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:50 [ "PATH" => "/usr/local/bin:/bin:/usr/bin" "HTTP_ACCEPT" => "text/html,application/xhtm...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1750656124 "last" => 1750656124...
registry
array:3 [ "data" => array:3 [ "current_theme" => "red" "current_direction" => "ltr" "c...
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (4.1MB) (25.07ms)
  • afterInitialise (7.13MB) (58.1ms)
  • afterRoute (4.35MB) (28.56ms)
  • beforeRenderComponent com_content (380.03KB) (3.55ms)
  • Before Access::preloadComponents (all components) (477.52KB) (3.76ms)
  • After Access::preloadComponents (all components) (121.71KB) (1.13ms)
  • Before Access::preloadPermissions (com_content) (4.07KB) (21μs)
  • After Access::preloadPermissions (com_content) (1.09MB) (31.89ms)
  • Before Access::getAssetRules (id:263 name:com_content.article.99) (66.8KB) (79μs)
  • After Access::getAssetRules (id:263 name:com_content.article.99) (26.37KB) (379μs)
  • afterRenderComponent com_content (2.32MB) (23.54ms)
  • afterDispatch (2.33KB) (157μs)
  • beforeRenderModule mod_custom ( Mạng xã hội & Thống kê truy cập) (2.19MB) (24.74ms)
  • afterRenderRawModule mod_custom ( Mạng xã hội & Thống kê truy cập) (35.91KB) (1.32ms)
  • beforeRenderModule mod_custom ( Mạng xã hội & Thống kê truy cập) (752B) (8μs)
  • afterRenderModule mod_custom ( Mạng xã hội & Thống kê truy cập) (31.73KB) (467μs)
  • beforeRenderModule mod_custom (Công ty TNHH Tự động hóa và Tin học công nghiệp Bách Khoa (BKAII)) (1.01KB) (64μs)
  • afterRenderRawModule mod_custom (Công ty TNHH Tự động hóa và Tin học công nghiệp Bách Khoa (BKAII)) (2.22KB) (158μs)
  • beforeRenderModule mod_custom (Công ty TNHH Tự động hóa và Tin học công nghiệp Bách Khoa (BKAII)) (800B) (6μs)
  • afterRenderModule mod_custom (Công ty TNHH Tự động hóa và Tin học công nghiệp Bách Khoa (BKAII)) (2.09KB) (153μs)
  • beforeRenderModule mod_breadcrumbs (Breadcrumbs) (824B) (49μs)
  • afterRenderRawModule mod_breadcrumbs (Breadcrumbs) (38.56KB) (1.18ms)
  • beforeRenderModule mod_breadcrumbs (Breadcrumbs) (704B) (7μs)
  • afterRenderModule mod_breadcrumbs (Breadcrumbs) (2.7KB) (207μs)
  • beforeRenderModule mod_articles_latest (Bài viết mới cập nhật...) (472B) (53μs)
  • afterRenderRawModule mod_articles_latest (Bài viết mới cập nhật...) (217.91KB) (89.56ms)
  • beforeRenderModule mod_articles_latest (Bài viết mới cập nhật...) (736B) (13μs)
  • afterRenderModule mod_articles_latest (Bài viết mới cập nhật...) (1.8KB) (222μs)
  • beforeRenderModule mod_hikashop (Danh mục sản phẩm) (11.83KB) (81μs)
  • afterRenderRawModule mod_hikashop (Danh mục sản phẩm) (5.68MB) (53.98ms)
  • beforeRenderModule mod_hikashop (Danh mục sản phẩm) (736B) (10μs)
  • afterRenderModule mod_hikashop (Danh mục sản phẩm) (1.78KB) (204μs)
  • beforeRenderModule mod_articles_categories (Demo Categories) (840B) (87μs)
  • afterRenderRawModule mod_articles_categories (Demo Categories) (52.11KB) (1.79ms)
  • beforeRenderModule mod_articles_categories (Demo Categories) (720B) (7μs)
  • afterRenderModule mod_articles_categories (Demo Categories) (1.78KB) (158μs)
  • beforeRenderModule mod_finder (Smart Search Module) (344B) (62μs)
  • afterRenderRawModule mod_finder (Smart Search Module) (526.65KB) (8.19ms)
  • beforeRenderModule mod_finder (Smart Search Module) (720B) (7μs)
  • afterRenderModule mod_finder (Smart Search Module) (1.73KB) (167μs)
  • afterRender (7.7MB) (162ms)
  • 1 x afterRender (7.7MB) (30.98%)
    161.52ms
    1 x afterRenderRawModule mod_articles_latest (Bài viết mới cập nhật...) (217.91KB) (17.18%)
    89.56ms
    1 x afterInitialise (7.13MB) (11.14%)
    58.10ms
    1 x afterRenderRawModule mod_hikashop (Danh mục sản phẩm) (5.68MB) (10.35%)
    53.98ms
    1 x After Access::preloadPermissions (com_content) (1.09MB) (6.12%)
    31.89ms
    1 x afterRoute (4.35MB) (5.48%)
    28.56ms
    1 x afterLoad (4.1MB) (4.81%)
    25.07ms
    1 x beforeRenderModule mod_custom ( Mạng xã hội & Thống kê truy cập) (2.19MB) (4.75%)
    24.74ms
    1 x afterRenderComponent com_content (2.32MB) (4.52%)
    23.54ms
    1 x afterRenderRawModule mod_finder (Smart Search Module) (526.65KB) (1.57%)
    8.19ms
    1 x Before Access::preloadComponents (all components) (477.52KB) (0.72%)
    3.76ms
    1 x beforeRenderComponent com_content (380.03KB) (0.68%)
    3.55ms
    1 x afterRenderRawModule mod_articles_categories (Demo Categories) (52.11KB) (0.34%)
    1.79ms
    1 x afterRenderRawModule mod_custom ( Mạng xã hội & Thống kê truy cập) (35.91KB) (0.25%)
    1.32ms
    1 x afterRenderRawModule mod_breadcrumbs (Breadcrumbs) (38.56KB) (0.23%)
    1.18ms
    1 x After Access::preloadComponents (all components) (121.71KB) (0.22%)
    1.13ms
    1 x afterRenderModule mod_custom ( Mạng xã hội & Thống kê truy cập) (31.73KB) (0.09%)
    467μs
    1 x After Access::getAssetRules (id:263 name:com_content.article.99) (26.37KB) (0.07%)
    379μs
    1 x afterRenderModule mod_articles_latest (Bài viết mới cập nhật...) (1.8KB) (0.04%)
    222μs
    1 x afterRenderModule mod_breadcrumbs (Breadcrumbs) (2.7KB) (0.04%)
    207μs
    1 x afterRenderModule mod_hikashop (Danh mục sản phẩm) (1.78KB) (0.04%)
    204μs
    1 x afterRenderModule mod_finder (Smart Search Module) (1.73KB) (0.03%)
    167μs
    1 x afterRenderRawModule mod_custom (Công ty TNHH Tự động hóa và Tin học công nghiệp Bách Khoa (BKAII)) (2.22KB) (0.03%)
    158μs
    1 x afterRenderModule mod_articles_categories (Demo Categories) (1.78KB) (0.03%)
    158μs
    1 x afterDispatch (2.33KB) (0.03%)
    157μs
    1 x afterRenderModule mod_custom (Công ty TNHH Tự động hóa và Tin học công nghiệp Bách Khoa (BKAII)) (2.09KB) (0.03%)
    153μs
    1 x beforeRenderModule mod_articles_categories (Demo Categories) (840B) (0.02%)
    87μs
    1 x beforeRenderModule mod_hikashop (Danh mục sản phẩm) (11.83KB) (0.02%)
    81μs
    1 x Before Access::getAssetRules (id:263 name:com_content.article.99) (66.8KB) (0.02%)
    79μs
    1 x beforeRenderModule mod_custom (Công ty TNHH Tự động hóa và Tin học công nghiệp Bách Khoa (BKAII)) (1.01KB) (0.01%)
    64μs
    1 x beforeRenderModule mod_finder (Smart Search Module) (344B) (0.01%)
    62μs
    1 x beforeRenderModule mod_articles_latest (Bài viết mới cập nhật...) (472B) (0.01%)
    53μs
    1 x beforeRenderModule mod_breadcrumbs (Breadcrumbs) (824B) (0.01%)
    49μs
    1 x Before Access::preloadPermissions (com_content) (4.07KB) (0%)
    21μs
    1 x beforeRenderModule mod_articles_latest (Bài viết mới cập nhật...) (736B) (0%)
    13μs
    1 x beforeRenderModule mod_hikashop (Danh mục sản phẩm) (736B) (0%)
    10μs
    1 x beforeRenderModule mod_custom ( Mạng xã hội & Thống kê truy cập) (752B) (0%)
    8μs
    1 x beforeRenderModule mod_breadcrumbs (Breadcrumbs) (704B) (0%)
    7μs
    1 x beforeRenderModule mod_articles_categories (Demo Categories) (720B) (0%)
    7μs
    1 x beforeRenderModule mod_finder (Smart Search Module) (720B) (0%)
    7μs
    1 x beforeRenderModule mod_custom (Công ty TNHH Tự động hóa và Tin học công nghiệp Bách Khoa (BKAII)) (800B) (0%)
    6μs
35 statements were executed, 3 of which were duplicates, 32 unique103ms2.94MB
  • SELECT @@SESSION.sql_mode;65μs1.57KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `idc_session` WHERE `session_id` = ?122μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `idc_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1286μs1.73KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `idc_viewlevels`84μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `idc_usergroups` AS `a` LEFT JOIN `idc_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest132μs2.27KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `idc_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`569μs4.3KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `idc_menu` AS `m` LEFT JOIN `idc_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`4.54ms820.55KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `idc_categories` AS `s` INNER JOIN `idc_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`342μs5.13KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `idc_template_styles` AS `s` LEFT JOIN `idc_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1265μs2.45KB/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT * FROM `idc_languages` WHERE `published` = 1 ORDER BY `ordering` ASC176μs2.22KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `idc_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40,:preparedArray41,:preparedArray42,:preparedArray43,:preparedArray44)723μs8.12KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `idc_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 02.59ms173.8KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `idc_content`849μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `idc_content` SET `hits` = (`hits` + 1) WHERE `id` = '99'338μs48B/libraries/src/Table/Table.php:1325Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `idc_content` AS `a` INNER JOIN `idc_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `idc_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `idc_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `idc_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `idc_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)427μs24.63KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `idc_categories` AS `s` INNER JOIN `idc_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`377μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `idc_contentitem_tag_map` AS `m` INNER JOIN `idc_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)261μs7.72KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `idc_categories` AS `s` INNER JOIN `idc_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`354μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM idc_fields AS a LEFT JOIN `idc_languages` AS l ON l.lang_code = a.language LEFT JOIN idc_users AS uc ON uc.id=a.checked_out LEFT JOIN idc_viewlevels AS ag ON ag.id = a.access LEFT JOIN idc_users AS ua ON ua.id = a.created_user_id LEFT JOIN idc_fields_groups AS g ON g.id = a.group_id LEFT JOIN `idc_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC1.15ms6.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `idc_categories` AS `s` INNER JOIN `idc_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`379μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `idc_modules` AS `m` LEFT JOIN `idc_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `idc_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`1.98ms1.36MBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END AS `publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`metadata`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`featured`,`a`.`language`,LENGTH(`a`.`fulltext`) AS `readmore`,`a`.`ordering`,`fp`.`featured_up`,`fp`.`featured_down`,CASE WHEN `c`.`published` = 2 AND `a`.`state` > 0 THEN 2 WHEN `c`.`published` != 1 THEN 0 ELSE `a`.`state` END AS `state`,`c`.`title` AS `category_title`,`c`.`path` AS `category_route`,`c`.`access` AS `category_access`,`c`.`alias` AS `category_alias`,`c`.`language` AS `category_language`,`c`.`published`,`c`.`published` AS `parents_published`,`c`.`lft`,CASE WHEN `a`.`created_by_alias` > ' ' THEN `a`.`created_by_alias` ELSE `ua`.`name` END AS `author`,`ua`.`email` AS `author_email`,`uam`.`name` AS `modified_by_name`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,COALESCE(NULLIF(ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1), 0), 0) AS `rating`,COALESCE(NULLIF(`v`.`rating_count`, 0), 0) AS `rating_count` FROM `idc_content` AS `a` LEFT JOIN `idc_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `idc_users` AS `ua` ON `ua`.`id` = `a`.`created_by` LEFT JOIN `idc_users` AS `uam` ON `uam`.`id` = `a`.`modified_by` LEFT JOIN `idc_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `idc_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `idc_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE `a`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`access` IN (:preparedArray3,:preparedArray4) AND `c`.`published` = 1 AND `a`.`state` = :condition AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) ORDER BY a.created DESC LIMIT 1582.25ms329.09KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `idc_categories` AS `s` INNER JOIN `idc_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`475μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT * FROM idc_hikashop_config550μs152.94KB/administrator/components/com_hikashop/classes/config.php:16Copy
  • SET sql_mode=(SELECT REPLACE(REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''), 'STRICT_TRANS_TABLES', ''));55μs0B/administrator/components/com_hikashop/helpers/helper.php:3422Copy
  • SELECT * FROM idc_hikashop_category WHERE category_id = '25' LIMIT 1248μs4KB/administrator/components/com_hikashop/helpers/helper.php:2632Copy
  • SELECT a.* FROM idc_hikashop_category AS a WHERE a.category_parent_id = 25 AND a.category_published=1 ORDER BY a.category_ordering ASC LIMIT 20714μs20.3KB/administrator/components/com_hikashop/classes/category.php:612Copy
  • SELECT * FROM idc_hikashop_file WHERE file_type='category' AND file_ref_id IN (87,49,39,41,40,43,44,48,38,50,51,52,58,60,68,55,56,57,59,54)354μs2.17KB/administrator/components/com_hikashop/classes/category.php:632Copy
  • SELECT COUNT(*) FROM idc_hikashop_category AS a WHERE a.category_parent_id = 25 AND a.category_published=1570μs856B/components/com_hikashop/views/category/view.html.php:306Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `idc_categories` AS `s` INNER JOIN `idc_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`311μs5.14KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `idc_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1463μs928B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `idc_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)202μs968B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `idc_scheduler_tasks` AS `a` WHERE `a`.`state` = 1148μs12.68KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `idc_session` WHERE `session_id` = ?98μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • INSERT INTO `idc_session` (`data`,`time`,`session_id`) VALUES (?, ?, ?)238μs864BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy