Describimos un circuito simple que se puede utilizar para generar señales TTL controladas en frecuencia a partir de una tensión de entrada. Este circuito tiene un rango de control de frecuencias de 1000: 1 cuando la tensión de control varía de 0 a 10 volts. Otra característica importante de este circuito es su frecuencia máxima que puede llegar a los 50 Mhz.

   Un oscilador controlado por tensión usando componentes TTL puede ser necesario en algún tipo de proyecto. Si el lector ya ha necesitado este tipo de circuito o aún necesita, describimos en este artículo una configuración que puede ser de gran utilidad. Esta configuración fue adaptada de una publicación francesa que consiste en la realidad de una colección de proyectos enviados por los lectores.

Es como nuestro Fuera de serie en el que los lectores envían sugerencias de aplicaciones de circuitos por ellos desarrollados. La idea que puede ser muy útil para nuestros lectores nos ha llamado la atención para retirar la configuración básica que ahora llevamos a nuestros lectores, por supuesto, citando la fuente.

   Entre las posibles aplicaciones para un oscilador TTL controlado por tensión podemos citar:

   * Medida de tensiones usando un frecuencímetro TTL.

   * Conversión de magnitudes analógicas como resistencias, temperaturas o intensidades de luz en frecuencia para su procesamiento a través de circuitos TTL.

   * Instrumentos musicales electrónicos.

   El oscilador puede utilizar tanto circuitos integrados TTL comunes (estándar) como de serie S y LS. Los de la serie estándar, sin embargo, tendrán una frecuencia máxima mucho menor que los 50 MHz, llegando sólo a los 15 Mhz.

 

   COMO FUNCIONA

   El circuito tiene como base un oscilador con puertas NAND disparadoras que se conectan como inversores. El transistor Q2 se conecta como un seguidor de emisor en la entrada de la primera puerta para aumentar su resistencia de entrada y permitir el uso de resistencias de retroalimentación de valores elevados. En el caso, la resistencia puede tener un valor tan alto como 2,2 M ohms (R4).

   El transistor Q1 funciona como etapa de control de frecuencia, funcionando como un resistor de realimentación variable en paralelo con R4. Así, cuando Q1 conduce, disminuyendo la resistencia de realimentación la frecuencia del oscilador que es determinada por R4 y también por C3 aumenta.

   El control de esta frecuencia es entonces hecho por una tensión aplicada a la base de este transistor vía R1 y R2.

   La duración de los pulsos producidos por el oscilador depende básicamente del tiempo de propagación de la señal por las puertas disparadoras. Para los tipos estándar este tiempo es del orden de 30 ns así como de la serie LS. Sin embargo para los de la serie S este tiempo es de 15 ns.

   Para obtener una señal con ciclo activo del 50% se utiliza un flip-flop con las otras dos puertas del mismo integrado, para funcionar como un divisor por 2.

   Así, para una señal de 30 MHz generada en el oscilador tenemos una salida de 15 MHz en este paso. Si el lector no se preocupa por el hecho de que el circuito genera señales rectangulares y puede trabajar con pulsos en su aplicación, la salida se puede obtener en el pin 6 del circuito integrado que es la segunda puerta después del oscilador.

   El diodo y C3 proporcionan una retroalimentación de control para obtener un funcionamiento más estable para el paso de entrada.

   El resistor R1 determina el rango de tensiones de control y el valor dado es para el rango de 0 a 10 volts. Los cambios se pueden realizar según la aplicación.

   Es importante observar que la curva de respuesta del circuito no es lineal lo que quiere decir que no tenemos un control de frecuencia exactamente en correspondencia directa con la tensión de entrada.

   

MONTAJE

   En la figura 1 tenemos el diagrama completo del oscilador.

 

 


| Haga click en la imagen para ampliar |

 

 

   Este es el tipo de circuito que no debe ser usado solo en la mayoría de los casos, sino formar parte de algún proyecto más elaborado. Sin embargo, si los lectores quieren montarlo en una placa, en la figura 2 tenemos una sugerencia de disposición de componentes para este propósito.

 


| Haga click en la imagen para ampliar |

 

 

   Los resistores son todos de 1/8 W o mayores y los capacitores deben ser cerámicos de buena calidad. Las conexiones entre los componentes deben ser bien cortas, principalmente en las frecuencias más altas y eventualmente deben conectarse capacitores de 10 nF entre los pines de alimentación del integrado para evitar inestabilidades.

   Las inestabilidades también pueden ocurrir con integrados LS en las frecuencias más altas exigiendo la colocación de las resistencias R5 y R6 en el circuito.

   Los transistores deben ser los indicados, principalmente Q2 que debe ser de la serie C pues se necesita una ganancia alta en este punto del circuito.

O diodo admite equivalentes.

 

PRUEBA Y USO

   Para probar podemos utilizar una fuente variable en la entrada o incluso un potenciómetro como divisor de tensión. En la salida conectamos un frecuencímetro.

   Dependiendo de la aplicación puede ser interesante levantar la curva de respuesta del circuito. Los cambios en C2 se pueden realizar en función de la frecuencia de operación deseada.

   En las frecuencias más altas puede ser necesario disminuir C4 y C5 para obtener más estabilidad y en las frecuencias muy bajas estos capacitores pueden necesitar un aumento de valor.

   Comprobado el funcionamiento es sólo utilizar el circuito.

 

   Semiconductores:

   CI-1 - 74132 (L, LS, S, etc.) - circuito integrado TTL

   Q1 - BC547 - transistores NPN de uso general

   Q2 - BC549C - transistores NPN de alta ganancia

   D1 - 1N4148 - diodo de uso general

   

Resistores: (1 / 8W, 5%)

   R1 - 27 k ohms

   R2 - 1 k ohms

   R3 - 10 k ohms

   R4 - 2,2 M ohms

   R5, R6 - 15 k ohms

   R7, R8 - 2,2 k ohms

   R9 - 330 ohms

   

Capacitores:

   C1 - 100 pF - cerámico

   C2 - 33 pF - cerámico

   C3 - 1 nF - cerámico

   C4, C5 - 15 pF - cerámico

   

Varios:

   Placa de circuito impreso, zócalo para el circuito integrado, hilos, soldadura, etc.

 

 

 

Settings18.938MBMemory Usage55.14msRequest Duration
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
Joomla! Version5.3.2
PHP Version8.3.23
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.27-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
array:1 [ "c2123392c06423339225f3431360b7e6" => "ikt2gpbm6gqkpmvot7d5k76iln" ]
$_SERVER
array:52 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 2 "timer" => array:3 [ "start" => 1753400797 "last" => 1753400797...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (83.76KB) (220μs)
  • afterInitialise (1.13MB) (4.03ms)
  • afterRoute (179.86KB) (1.17ms)
  • beforeRenderComponent com_content (100.85KB) (514μs)
  • Before Access::preloadComponents (all components) (33.13KB) (243μs)
  • After Access::preloadComponents (all components) (113.52KB) (432μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (10μs)
  • After Access::preloadPermissions (com_content) (16.24MB) (29.71ms)
  • Before Access::getAssetRules (id:25023 name:com_content.article.28701) (514.65KB) (1.22ms)
  • After Access::getAssetRules (id:25023 name:com_content.article.28701) (7.38KB) (52μs)
  • afterRenderComponent com_content (364.95KB) (7.57ms)
  • afterDispatch (2.25KB) (62μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (422.47KB) (2.45ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.5KB) (439μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (125μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (54.31KB) (1.17ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (780μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (91μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (250μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (67μs)
  • afterRender (257.73KB) (4.4ms)
  • 1 x After Access::preloadPermissions (com_content) (16.24MB) (53.88%)
    29.71ms
    1 x afterRenderComponent com_content (364.95KB) (13.72%)
    7.57ms
    1 x afterRender (257.73KB) (7.97%)
    4.40ms
    1 x afterInitialise (1.13MB) (7.32%)
    4.03ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (422.47KB) (4.44%)
    2.45ms
    1 x Before Access::getAssetRules (id:25023 name:com_content.article.28701) (514.65KB) (2.22%)
    1.22ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (54.31KB) (2.12%)
    1.17ms
    1 x afterRoute (179.86KB) (2.12%)
    1.17ms
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.41%)
    780μs
    1 x beforeRenderComponent com_content (100.85KB) (0.93%)
    514μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.5KB) (0.8%)
    439μs
    1 x After Access::preloadComponents (all components) (113.52KB) (0.78%)
    432μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.45%)
    250μs
    1 x Before Access::preloadComponents (all components) (33.13KB) (0.44%)
    243μs
    1 x afterLoad (83.76KB) (0.4%)
    220μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.23%)
    125μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.17%)
    91μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    67μs
    1 x afterDispatch (2.25KB) (0.11%)
    62μs
    1 x After Access::getAssetRules (id:25023 name:com_content.article.28701) (7.38KB) (0.09%)
    52μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    10μs
21 statements were executed, 5 of which were duplicates, 16 unique11.28ms1.58MB
  • SELECT @@SESSION.sql_mode;31μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 169μs1.31KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • UPDATE `incbmx_session` SET `guest` = :guest , `time` = :time , `userid` = :user_id , `username` = :username , `client_id` = :client_id WHERE `session_id` = :session_id59μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`55μs608B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `incbmx_usergroups` AS `a` LEFT JOIN `incbmx_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest95μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • 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 `incbmx_categories` AS `s` INNER JOIN `incbmx_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`255μs20.2KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `incbmx_content` WHERE `id` = :id68μs1.31KBParams/components/com_content/src/Service/Router.php:289Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_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)228μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 08.02ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`296μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:539Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '28701'163μs48B/libraries/src/Table/Table.php:1348Copy
  • 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 `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_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)182μs22.13KBParams/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 `incbmx_categories` AS `s` INNER JOIN `incbmx_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`204μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `incbmx_contentitem_tag_map` AS `m` INNER JOIN `incbmx_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)275μs3.98KBParams/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 `incbmx_categories` AS `s` INNER JOIN `incbmx_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`192μs3.92KBParams/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 incbmx_fields AS a LEFT JOIN `incbmx_languages` AS l ON l.lang_code = a.language LEFT JOIN incbmx_users AS uc ON uc.id=a.checked_out LEFT JOIN incbmx_viewlevels AS ag ON ag.id = a.access LEFT JOIN incbmx_users AS ua ON ua.id = a.created_user_id LEFT JOIN incbmx_fields_groups AS g ON g.id = a.group_id LEFT JOIN `incbmx_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 ASC426μs4.81KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • 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 `incbmx_categories` AS `s` INNER JOIN `incbmx_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`200μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)98μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context85μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:406Copy
  • 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 `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_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)209μs22.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • 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 `incbmx_scheduler_tasks` AS `a` WHERE `a`.`state` = 174μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy